Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
すごい constexpr たのしくレイトレ!
Genya Murakami
SAT/SMTソルバの仕組み
Masahiro Sakai
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
katagaitai CTF勉強会 #5 Crypto
trmr
Pythonでパケット解析
euphoricwavism
良い?悪い?コードコメントの書き方
Shigenori Sagawa
1
of
34
Top clipped slide
Task Spooler を試した
Sep. 13, 2016
•
0 likes
0 likes
×
Be the first to like this
Show More
•
3,036 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
社内勉強会での発表資料です。機械学習のジョブを流す際などに Task Spooler というツールが便利そうだと思い試してみました。使い方を簡単にまとめて紹介したものです。
y-uti
Follow
Advertisement
Advertisement
Advertisement
Recommended
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
15.2K views
•
78 slides
ELFの動的リンク
7shi
17.9K views
•
52 slides
はりぼて OS で ELF なアプリを起動してみた
uchan_nos
2.4K views
•
30 slides
JIT のコードを読んでみた
y-uti
10K views
•
52 slides
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
55.9K views
•
32 slides
暗号技術の実装と数学
MITSUNARI Shigeo
9.3K views
•
35 slides
More Related Content
Slideshows for you
(20)
すごい constexpr たのしくレイトレ!
Genya Murakami
•
25.3K views
SAT/SMTソルバの仕組み
Masahiro Sakai
•
35.9K views
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
•
5.6K views
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
•
14.3K views
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
•
22.4K views
katagaitai CTF勉強会 #5 Crypto
trmr
•
6.2K views
Pythonでパケット解析
euphoricwavism
•
8.5K views
良い?悪い?コードコメントの書き方
Shigenori Sagawa
•
42.4K views
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
•
23.5K views
UEFI時代のブートローダ
Takuya ASADA
•
24.6K views
MikanOSと自作CPUをUSBで接続する
uchan_nos
•
151 views
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
•
28K views
Dockerからcontainerdへの移行
Kohei Tokunaga
•
15.4K views
冬のLock free祭り safe
Kumazaki Hiroki
•
26.8K views
ラムダ計算入門
Eita Sugimoto
•
33.5K views
C++ マルチスレッド 入門
京大 マイコンクラブ
•
57.5K views
TLS, HTTP/2演習
shigeki_ohtsu
•
12.8K views
Glibc malloc internal
Motohiro KOSAKI
•
60.5K views
RustによるGPUプログラミング環境
KiyotomoHiroyasu
•
2.4K views
メタプログラミングって何だろう
Kota Mizushima
•
28.3K views
Viewers also liked
(8)
JIT for PHP を試した
y-uti
•
5K views
続Xamarinはじめました
Yuya Yamaki
•
2.9K views
Xamarinはじめました
Yuya Yamaki
•
7.1K views
Product catalog of Industrial Winch
Marek Daniel
•
2.7K views
Hydraulic winch
Industrial Winch
•
528 views
introduction, drawing, calculation for winch design
Aman Huri
•
55.7K views
Lesson 2 Deck Equipment And Marlinspike Seamanship
Guilherme Azevedo
•
25.2K views
MOORING STATIONS - FOR MARITIME CADETS
Capt.Vivek Trivedi
•
10.6K views
Advertisement
Similar to Task Spooler を試した
(20)
Android デバッグ小ネタ
l_b__
•
19.8K views
Maatkitの紹介
Akinori YOSHIDA
•
3.9K views
Ilstudy001_20110806
Interlink Corporation
•
687 views
Open VZ
Kazuaki Fujikura
•
2.5K views
Mon, Muninによる楽々監視生活
Akihiro Kuwano
•
36.4K views
initとプロセス再起動
Takashi Takizawa
•
49.1K views
About Jobs
Shinichi Kozake
•
1.3K views
Cloud9にリモートデスクトップ接続する
Ryo Ishii
•
24 views
Gingerbread
android sola
•
1.4K views
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
•
5.5K views
Maatkit で MySQL チューニング
Kensuke Nagae
•
1.7K views
about DakotagUI
Etsuji Nomura
•
674 views
MySQLerの7つ道具
yoku0825
•
6.3K views
コンテナ情報交換会2
Masahide Yamamoto
•
5.6K views
Windowsでも使えるシェル
Tetsuya Hasegawa
•
1.9K views
20分でわかった事にするパワーマネジメント
magoroku Yamamoto
•
3.3K views
MINCS – containers in the shell script
Masami Hiramatsu
•
6.1K views
大規模な負荷でもドキドキしない為のJava EE
Taiichilow Nagase
•
10.9K views
あんなテスト、こんなテスト(this and that about testing)
Takuya Tsuchida
•
2.4K views
Mastodonインスタンスをセットアップできるスタートアップスクリプトについて
さくらインターネット株式会社
•
3K views
More from y-uti
(20)
潜在ディリクレ配分法
y-uti
•
5.5K views
Active Object
y-uti
•
2.4K views
目で見る過学習と正則化
y-uti
•
3.2K views
ロジスティック回帰入門
y-uti
•
4.8K views
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
y-uti
•
1.7K views
PECL operator で演算子オーバーロード
y-uti
•
1.3K views
PHP-ML で手書き数字認識
y-uti
•
2.3K views
OPcache の最適化器の今
y-uti
•
10.2K views
スパース推定
y-uti
•
8.2K views
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
•
2.1K views
PHP カンファレンス福岡 2017 参加報告
y-uti
•
541 views
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
•
8.3K views
anyenv + phpenv + php-build が便利すぎる件
y-uti
•
11.5K views
PHP カンファレンス福岡 参加報告
y-uti
•
1.2K views
RFC: "var" Deprecation
y-uti
•
1.6K views
最近の PHP の話
y-uti
•
3.2K views
Windows で拡張モジュールをビルドしてみた
y-uti
•
2.6K views
PECL を数えてみた
y-uti
•
4K views
Windows で PHP をビルドしてみた
y-uti
•
2.2K views
逐次ベイズ学習 - サンプリング近似法の場合 -
y-uti
•
13.5K views
Advertisement
Recently uploaded
(20)
Wandb LLM Webinar May 30 2023 (配布用).pdf
Yuya Yamamoto
•
116 views
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
72 views
量子論.pdf
hiro150493
•
9 views
Forguncy8 製品概要 202305.pptx
フォーガンシー
•
57 views
Forguncy製品概要.pptx
フォーガンシー
•
151 views
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
271 views
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
281 views
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
22 views
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
73 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
3 views
PCベース制御による集中制御.pdf
ssusercd9928
•
19 views
触感に関わる共感覚的表現と基本6感情の対応関係の検証
Matsushita Laboratory
•
22 views
TestSIP (1).pdf
DeependraSingh712859
•
2 views
GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
•
9 views
GitHub最新情報キャッチアップ 2023年6月
Kazumi IWANAGA
•
0 views
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
•
192 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
245 views
Windows ChatGPT Bing AI.pptx
Atomu Hidaka
•
7 views
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
9 views
JSAI2023_企画セッション(仕掛学)資料
Matsushita Laboratory
•
27 views
Task Spooler を試した
Task Spooler を試した 内山
雄司 (@y__uti) 2016-09-13 社内勉強会
自己紹介 内山 雄司 (@y__uti) ◦
http://y-uti.hatenablog.jp/ (phpusers-ja) 仕事 ◦ 受託開発の会社 (株式会社ピコラボ) でプログラマをしています 興味 ◦ プログラミング言語処理系 ◦ 機械学習 2016-09-13 社内勉強会 2
Task Spooler http://vicerveza.homeunix.net/~viric/soft/ts/ 2016-09-13 社内勉強会
3
Task Spooler とは? 簡易ジョブ管理システム的なもの Task
Spooler ができること ◦ 最大同時実行数を設定してプロセスを並列実行する ◦ プロセスの状態や実行結果を管理する ◦ プロセスの実行条件 (依存関係) を指定する Task Spooler ではできないこと ◦ 複雑なことは概ねできない ◦ ジョブの実行時刻を指定するとか (cron じゃないから) ◦ 異常終了したら通知するとか ◦ トリッキーなジョブを仕掛ければできるかもしれないが・・・ 2016-09-13 社内勉強会 4
何をしてくれるのか 最大同時実行数を設定してプロセスを並列実行する 2016-09-13 社内勉強会 5 実行待ち
実行中 実行済み
何をしてくれるのか 最大同時実行数を設定してプロセスを並列実行する 2016-09-13 社内勉強会 6 実行待ち
実行中 実行済み 終わった!
何をしてくれるのか 最大同時実行数を設定してプロセスを並列実行する 2016-09-13 社内勉強会 7 実行待ち
実行中 実行済み 次!
インストール ソースコードを取得してビルドする 2016-09-13 社内勉強会 8 $
wget http://vicerveza.homeunix.net/~viric/soft/ts/ts- 0.7.6.tar.gz $ tar xf ts-0.7.6.tar.gz $ cd ts-0.7.6 $ make $ make PREFIX=.. install ◦ インストールされるのは以下の 2 ファイル ◦ $PREFIX/bin/ts ◦ $PREFIX/share/man/man1/ts.1 ◦ ちなみに GPL version 2.0
基本的な使い方 [1/2] 最大同時実行数を設定する 2016-09-13 社内勉強会
9 $ ts -S 4 ◦ 4 プロセスまで同時実行 確認 $ ts ID State Output E-Level Times(r/u/s) Command [run=0/4]
基本的な使い方 [2/2] ジョブをキューに登録する 2016-09-13 社内勉強会
10 $ for i in $(seq 1 10); do ts sleep $i; done 0 1 2 3 4 5 6 7 8 9 ◦ i = 1 ~ 10 として「$i 秒 sleep する」ジョブを登録した
実行の様子 キューの状態を確認する 実行直後 2016-09-13 社内勉強会 11 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 0 running /tmp/ts-out.sWEDhd sleep 1 1 running /tmp/ts-out.2FZb9f sleep 2 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 queued (file) sleep 5 5 queued (file) sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10
実行の様子 キューの状態を確認する 1秒後 2016-09-13 社内勉強会 12 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 1 running /tmp/ts-out.2FZb9f sleep 2 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 queued (file) sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する 2秒後 2016-09-13 社内勉強会 13 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 2 running /tmp/ts-out.g4nEOg sleep 3 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 queued (file) sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する 3秒後 2016-09-13 社内勉強会 14 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 3 running /tmp/ts-out.E7hDyg sleep 4 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 queued (file) sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 15 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 4 running /tmp/ts-out.iNqnyi sleep 5 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 queued (file) sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 16 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 5 running /tmp/ts-out.zLJ4Ci sleep 6 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 queued (file) sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 17 $
ts ID State Output E-Level Times(r/u/s) Command [run=4/4] 6 running /tmp/ts-out.kjWcqk sleep 7 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 18 $
ts ID State Output E-Level Times(r/u/s) Command [run=3/4] 7 running /tmp/ts-out.i9BXum sleep 8 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 19 $
ts ID State Output E-Level Times(r/u/s) Command [run=2/4] 8 running /tmp/ts-out.AWi5Dq sleep 9 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する ・・・ 2016-09-13 社内勉強会 20 $
ts ID State Output E-Level Times(r/u/s) Command [run=1/4] 9 running /tmp/ts-out.kVAX0u sleep 10 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
実行の様子 キューの状態を確認する 終わり 2016-09-13 社内勉強会 21 $
ts ID State Output E-Level Times(r/u/s) Command [run=0/4] 0 finished /tmp/ts-out.sWEDhd 0 1.01/0.00/0.00 sleep 1 1 finished /tmp/ts-out.2FZb9f 0 2.02/0.00/0.00 sleep 2 2 finished /tmp/ts-out.g4nEOg 0 3.01/0.00/0.00 sleep 3 3 finished /tmp/ts-out.E7hDyg 0 4.00/0.00/0.00 sleep 4 4 finished /tmp/ts-out.iNqnyi 0 5.01/0.00/0.00 sleep 5 5 finished /tmp/ts-out.zLJ4Ci 0 6.01/0.00/0.00 sleep 6 6 finished /tmp/ts-out.kjWcqk 0 7.00/0.00/0.00 sleep 7 7 finished /tmp/ts-out.i9BXum 0 8.01/0.00/0.00 sleep 8 8 finished /tmp/ts-out.AWi5Dq 0 9.00/0.00/0.00 sleep 9 9 finished /tmp/ts-out.kVAX0u 0 10.00/0.00/0.00 sleep 10 ◦ 一秒ごとに ts コマンドを実行しています ◦ 自動更新されるわけではない
ts のオプション [1/3] ジョブの情報を確認する 2016-09-13
社内勉強会 22 オプション 意味 -t [id] 指定されたジョブの出力を tail -f する -c [id] 指定されたジョブの出力を cat する -p [id] 指定されたジョブのプロセス ID を表示する -o [id] 指定されたジョブの出力ファイル名を表示する -i [id] 指定されたジョブの情報を表示する -s [id] 指定されたジョブの状態を表示する
ts -i [id] 指定されたジョブの情報を表示する 2016-09-13
社内勉強会 23 $ ts -i 3 Exit status: died with exit code 0 Command: sleep 4 Slots required: 1 Enqueue time: Mon Sep 12 22:07:56 2016 Start time: Mon Sep 12 22:07:56 2016 End time: Mon Sep 12 22:08:00 2016 Time run: 4.004059s
ts のオプション [2/3] ジョブの実行を制御する 2016-09-13
社内勉強会 24 オプション 意味 -r [id] 指定されたジョブをキューから取り除く -w [id] 指定されたジョブが終わるまで待つ -k [id] 指定されたジョブを kill する (SIGTERM) -u [id] 指定されたジョブをキューの先頭に移動する -U <id>-<id> 指定された二つのジョブの位置を入れ替える
ts のオプション [3/3] ジョブを登録するときのオプション 2016-09-13
社内勉強会 25 オプション 意味 -n ジョブの出力をファイルに保存しない -E ジョブの標準出力と標準エラーを分けて出力する -g ジョブの出力を gzip する -f バックグラウンドで fork しない (未確認) -m ジョブの出力をメールで送信する (未確認) -d 直前のジョブが正常終了したときだけ実行する -D <id> 指定されたジョブが正常終了したときだけ実行する -L <lab> ジョブに名前を付ける -N <num> ジョブが使うスロット数を指定する
ts -D [id] 指定されたジョブが正常終了したときだけ実行する 2016-09-13
社内勉強会 26 $ ts -S 2 $ ts sleep 20 0 $ ts sleep 10 1 $ ts -D 0 sleep 5 2 $ ts sleep 5 3 ◦ ID = 2 のジョブは ID = 0 のジョブが正常終了したら実行が始まる
実行の様子 実行直後 2016-09-13 社内勉強会 27 $
ts ID State Output E-Level Times(r/u/s) Command [run=2/2] 0 running /tmp/ts-out.flebwV sleep 20 1 running /tmp/ts-out.RGTygW sleep 10 2 queued (file) [0]&& sleep 5 3 queued (file) sleep 5
実行の様子 10 秒後 2016-09-13 社内勉強会
28 $ ts ID State Output E-Level Times(r/u/s) Command [run=2/2] 0 running /tmp/ts-out.flebwV sleep 20 2 queued (file) [0]&& sleep 5 3 running /tmp/ts-out.4MUpNi sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 ◦ ID = 1 のジョブが終了する ◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない ◦ ID = 3 のジョブの実行が開始される
実行の様子 15 秒後 2016-09-13 社内勉強会
29 $ ts ID State Output E-Level Times(r/u/s) Command [run=1/2] 0 running /tmp/ts-out.flebwV sleep 20 2 queued (file) [0]&& sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 ◦ ID = 3 のジョブが終了する ◦ ID = 2 のジョブは ID = 0 を待っているので実行が開始されない
実行の様子 20 秒後 2016-09-13 社内勉強会
30 $ ts ID State Output E-Level Times(r/u/s) Command [run=1/2] 2 running /tmp/ts-out.c9eVnz [0]&& sleep 5 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20 ◦ ID = 0 のジョブが終了する ◦ ID = 2 のジョブの実行が開始される
実行の様子 25 秒後 2016-09-13 社内勉強会
31 $ ts ID State Output E-Level Times(r/u/s) Command [run=0/2] 1 finished /tmp/ts-out.RGTygW 0 10.01/0.00/0.00 sleep 10 3 finished /tmp/ts-out.4MUpNi 0 5.01/0.00/0.00 sleep 5 0 finished /tmp/ts-out.flebwV 0 20.01/0.00/0.00 sleep 20 2 finished /tmp/ts-out.c9eVnz 0 5.01/0.00/0.00 [0]&& sleep 5 ◦ ID = 2 のジョブが終了する
ところで -D って複数指定できるの? ◦ できない! ◦
右図のような制御ができない プログラムを修正すればできる ◦ 実際できた ◦ -D の値を int で持っているのを 配列に変更するだけ 2016-09-13 社内勉強会 32 ここができない!
ts の後片付け バックグラウンドの ts
サーバプロセスを終了する 2016-09-13 社内勉強会 33 $ ts -K ◦ 必要になったとき (ジョブを登録したとき等) に自動起動している
おわり 詳細は ts -h 説明していないオプションもあるよ 2016-09-13
社内勉強会 34
Advertisement