Linuxで、コマンドを定期的に、それもcronを利用するほどでもない間隔(数秒、数分など)で実行させるには、どうすればいいのだろうか? 1.watchコマンドを利用する フロント側でコマンドを連続実行させるならば、watchコマンドを利用すればいい。 watch -n 間隔(秒) コマンド 例えば、1秒ごとに「ls -la」を実行する場合、以下のようにすれば良い。 watch -n 1 ls -la ただし、watchコマンドはバックグラウンドでの実行が出来ない。 そのため、バックグラウンドでの実行をする場合は、次のwhileの方法を取るといいだろう。 2.whileを利用する さて、watchコマンドはバックグラウンドでのコマンド実行は行えない。 そのため、バックグラウンドで連続でコマンドを実行する場合は、whileで以下のようにコマンドを実行すると良いだろう。 while true;
ファイルが切り替わるタイプのログとかps -efの結果を定期的に関ししたい時とかwatchがすごく便利。 watch -d 'ps -ef | grep gara' とか書いとくだけで秒間隔でコマンドの実行結果を確認できる。 って言いたいんだけどお客さんの環境とか、なんやかんやによってはwatchがインストールされて無い事が有る。 そんな時は自分で似たようなものをつくればよい。ワンライナーで while true; do date; ps -ef |grep gara; sleep 1; clear; done; でいける。画面を消したくなければ while true; do date; ps -ef |grep gara; sleep 1; done; 出力はこんな感じ ubuntu /home/gara% while true; do date; ps -ef |grep gara;
breakとcontinue p.84 >>> for item in range(10): ... if item == 5: continue ... if item == 8: break ... print item, ... 0 1 2 3 4 6 7 while文 whileの条件はbool型(真or偽)で判定される。 p.86 >>> n = 0 >>> while n < 10: ... print n, ... n += 1 ... 0 1 2 3 4 5 6 7 8 9 九九の表を出力 よくやるよね。 >>> a = 1 >>> b = 1 >>> while a < 10: ... while b < 10: ... print a * b, ... b += 1 ... print "" ... a += 1 ... 1 2 3 4 5 6 7 8 9 あれ、できな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く