「最後に中断されたプロセスのPID」のUnixコマンドラインシンボルとは何ですか?


4

のようなインタラクティブコンソールではirb、何かがうまくいかず、コンソールが応答しなくなることがあります。1つの解決策は、プロセスを中断してから強制終了することです。

プロセスを一時停止するには、を押しControl+Zます。そのプロセスを強制終了するには、ps -ef | grep 'irb'すべてのプロセスを一覧表示し、「irb」を含むプロセスのみを表示し、そのリストからプロセスIDを取得して入力しkill [insert PID here]ます。

それは面倒です。プロセスを一時停止して、kill [some symbol here]「中断された最後のプロセス」を表す記号を入力するだけの方法があることを知っています。

「最後に中断されたプロセスのPID」のコマンドラインシンボルとは何ですか?

回答:


14

$!変数を探しているかもしれません(bashマニュアル、セクションSpecial Parameters)。

ただし、PIDは必要ありません。組み込みkillコマンドは、などのジョブ識別子も受け入れます%2。これは、Ctrl-Zを押すかを入力すると表示されますjobs。あなたは使用することができ%%+または%%最新の仕事を参照します。(他の可能性はbashマニュアルのセクションJob Controlにあります。)

>>>
[4]+  Stopped                 python
$ kill %4

kill %が探していたものだったと思う。これは実際には最後に中断されたジョブでなく、最後に開始されたジョブだと思いますが、私にとってはこれは通常同じジョブです。
ネイサンロング

1
@NathanLong:いいえ、%最後に中断されたジョブです。
悲しみ


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.