異なる時間にバックグラウンドプロセスとして実行されるいくつかのコマンドがあります。
wget -r url1 &
wget -r url2 &
..............
..............
結果は、-- ps -e
という2つのプロセスがあることを示しています。wget
2552 ? 00:00:01 wget
2576 ? 00:00:00 wget
...... .............
...... .............
これで実行プロセスを終了したいと思いますurl2
。どのプロセスが実行されているのか、どうすればわかりますかurl
?
答え1
-e
コマンドにはオプションの代わりにオプションを使用してください。ps
-f
user1 14298 13518 0 00:11 pts/1 00:00:00 sleep 100
user1 14299 13518 0 00:11 pts/1 00:00:00 sleep 50
これにより、コマンドに渡されたパラメーターも表示できます。あなたの場合は別のURLです。
答え2
対話型シェル設定でこれを行う場合は、kill the second background jobを使用できますkill %2
。
これがシェルスクリプトで実行されると、PIDを記録してシグナルを送信できます。
#!/bin/bash
wget http://example.com/bigfile1 &
pid1=$!
wget http://example.com/biggerfile2 &
pid2=$!
# Time passes..
# Impatience intensifies...
kill $pid2
現在のセッションの完全なコマンドライン(および環境)を表示するには、を使用できますps ex
。