お題の通りです。 例えば、常駐型のプロセスがあって、cron でそのプロセスの死活チェックを行い、死んでいたらプロセスを復活させたい場合などに使えます。 ps でプロセスを表示。 grep でプロセスをフィルタリング。 grep -v grep で、grep 自身のプロセスを除外。 || でつないで、コマンドが失敗(プロセスが存在しない)場合にコマンドを実行。
![Linuxでプロセスが存在しない場合にコマンドを実行するには - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ba14af209f588932f80822758bd4b81a913d4eb2/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TGludXglRTMlODElQTclRTMlODMlOTclRTMlODMlQUQlRTMlODIlQkIlRTMlODIlQjklRTMlODElOEMlRTUlQUQlOTglRTUlOUMlQTglRTMlODElOTclRTMlODElQUElRTMlODElODQlRTUlQTAlQjQlRTUlOTAlODglRTMlODElQUIlRTMlODIlQjMlRTMlODMlOUUlRTMlODMlQjMlRTMlODMlODklRTMlODIlOTIlRTUlQUUlOUYlRTglQTElOEMlRTMlODElOTklRTMlODIlOEIlRTMlODElQUIlRTMlODElQUYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWUyZTk4YTcwZjQyODVkMTI1YmU3OTcwNGJhNTczM2U0%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjcm9zc3JvYWQwMjAxJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02NDNlYWIxODliYzJiNWY1NWQ0NjUxZDE5NmE0NzkwOQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D9ce15ba28401ad761bf5dca86b99eeb6)
お題の通りです。 例えば、常駐型のプロセスがあって、cron でそのプロセスの死活チェックを行い、死んでいたらプロセスを復活させたい場合などに使えます。 ps でプロセスを表示。 grep でプロセスをフィルタリング。 grep -v grep で、grep 自身のプロセスを除外。 || でつないで、コマンドが失敗(プロセスが存在しない)場合にコマンドを実行。
A terminal/shell buffer script for python enabled [g]vim (+python). Allows execution of shell commands in a vim buffer. It does not use r! <cmd>. Some of it's features: * It retains state because it's interactive. Set an environment variable and it "stays" because the shell process is the same through the whole session. * It can run interactive line based programs like ftp/telnet/python/ssh/etc
これは便利。Vim上でシェルが動かせる。 vimsh.tar.gz - terminal/shell buffer script for python enabled gvim : vim online +pythonが必要。 使い方がちょっと特殊。source ~/.vim/vimsh.vimという感じで使うのでmapして使う。 なんといっても、ウィンドウを分割して表示出来るのが魅力的。 補完が全然効かないので、zshを動かすのには向いてないが、インタプリタを動かすときは効果絶大。かゆいところにちょっとだけ手が届く感じ。 早速,Life Changingにrateしといた。 追記 ソースをちょっと読んでみた。スゲー丁寧に書かれててびびった。 Pythonのソースを真面目に眺めたのは初めてかも、凄くシンプルな文法っぽくて好感が持てる。何処かで聞いたな・・・括弧の無いScheme・・・Pyt
後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は本来は論理演
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く