Unix命令行上“最后一个暂停的进程的PID”的符号是什么?


4

在类似的交互式控制台中irb,有时会出问题,并且控制台无响应。一种解决方案是暂停该过程,然后将其杀死。

要暂停该过程,我可以按Control+Z。为了杀死该进程,我可以运行ps -ef | grep 'irb'以列出所有进程,并仅显示包含“ irb”的进程,然后从该列表中获取进程ID并键入kill [insert PID here]

真麻烦 我知道有一种方法可以挂起该进程,然后键入kill [some symbol here],其中的符号表示“上一个被挂起的进程”。

“上次暂停的进程的PID”的命令行符号是什么?

Answers:


14

您可能正在寻找$!变量(bash手册,“ 特殊参数”部分)。

但是,您不需要PID-内置kill命令还接受作业标识符,例如%2,按Ctrl-Z或键入时会显示该标识符jobs。您可以使用%%+%%引用最新的工作。(其他可能性在bash手册的“ 作业控制”部分中。)

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

我想kill %这就是我想要的。虽然我认为这实际上是最后一个任务开始,而不是最后一个暂停,对我来说这通常是同一个。
内森·朗

1
@NathanLong:不,%是最后一个被暂停的工作。
grawity 2011年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.