
1つのコマンドで2つの別々のジョブを終了して一時停止しようとしています。
$ jobs
[1] Running ./jobs2 &
[2] Running ./jobs1 &
[3] Running ./jobs3 &
私は次のコマンドを使用しています:
kill ./jobs2 | kill -stop ./jobs1
最終結果は次のとおりです。
$ jobs
[2]+ Stopped ./jobs1
[3]- Running ./jobs3
しかし、期待どおりに動作しません。
答え1
kill -stop %2 && kill %1
例:
$ sleep 100 &
[1] 2284
$ sleep 200 &
[2] 2325
$ sleep 300 &
[3] 2366
$ jobs
[1] Running sleep 100 &
[2]- Running sleep 200 &
[3]+ Running sleep 300 &
$ kill -stop %2 && kill %1
[1] Terminated sleep 100
[2]+ Stopped sleep 200
$ jobs
[2]+ Stopped sleep 200
[3]- Running sleep 300 &