
プロセスを開始してターミナルウィンドウ(たとえば)のバックグラウンドに配置したら、ping google.com &
それを使用してプロセスを終了できますkill %1
(タスク1と仮定)。
ただし、別のターミナルウィンドウ(またはタブ)を開くと、下にバックグラウンドプロセスが表示されないため、jobs
直接使用できませんkill
。
他の端末ウィンドウまたはタブでこのプロセスを終了できますか?
注:私はXfceターミナルエミュレータ0.4.3とbashを使用しています。 (ソリューションがbash以外の共通シェルにある場合でも、これに対して開いています。)
答え1
はい、知っておくべきことはプロセスのプロセスID(PID)だけです。ps
またはコマンドを使用してそれを見つけることができますpidof
。
kill $(pidof ping)
他のシェルでも機能する必要があります。それ以外の場合は、psとgrepを使用してpingを実行できます。
答え2
別のターミナルウィンドウに入力すると、top
実行中のすべてのプロセスが一覧表示されます。プロセスIDを記録し、job
このq
画面を終了してください。その後、kill
プロセスは通常と同じです。
答え3
私は通常次のことをします:
ps aux | grep $PROCESS | grep -v grep | awk '{print $2 " " $11}'
たとえば、$PROCESS="bash" の場合、現在のセッションの出力は次のようになります。
2683 bash
4481 bash
5695 bash
次に、これ以上操作したくないプログラムを選択しますkill $PID
。/bin/bash
ps
grep
(オプション)PIDawk
を追跡するのに役立ちますkill
。
答え4
シェルでこれを行うにはあまりにも単純で答えではありません。しかし、「解決」したいすべての人のために:
閉じる必要がある別のターミナルウィンドウに切り替え、[X]をクリックします。その後、プロセスは終了すると言い、私が本当にこれをしたいかどうか尋ねます。Yes
。それが私が必要とするすべてです。