1つのコマンドでジョブの終了と一時停止

1つのコマンドでジョブの終了と一時停止

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 &

おすすめ記事