![Unix 命令行中“最后暂停进程的 PID”的符号是什么?](https://linux22.com/image/1291396/Unix%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E2%80%9C%E6%9C%80%E5%90%8E%E6%9A%82%E5%81%9C%E8%BF%9B%E7%A8%8B%E7%9A%84%20PID%E2%80%9D%E7%9A%84%E7%AC%A6%E5%8F%B7%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
在交互式控制台中irb
,有时会出现错误,控制台变得无响应。一种解决方案是暂停进程,然后将其终止。
要暂停该进程,我可以按Control+Z
。要终止该进程,我可以运行ps -ef | grep 'irb'
以列出所有进程并仅显示包含“irb”的进程,然后从该列表中获取进程 ID 并键入kill [insert PID here]
。
这很麻烦。我知道有一种方法就是暂停进程,然后输入kill [some symbol here]
,其中的符号代表“最后暂停的进程”。
“最后暂停的进程的 PID”的命令行符号是什么?
答案1
你可能正在寻找$!
多变的(bash 手册,第节特殊参数)。
但是,你不需要 PID – 内置kill
命令也接受工作标识符,例如%2
,当您按 Ctrl-Z 或键入 时会显示这些内容jobs
。您可以使用%
,%+
或者%%
引用最新的作业。(其他可能性在 bash 手册的第作业控制。
>>>
[4]+ Stopped python
$ kill %4
答案2
jobs -p %
它显示最后一个暂停作业的 PID(按下 后Ctrl+z
)。