我需要获取 freebsd 中的后台进程列表,但我不知道如何操作。我尝试使用 ps 命令,
ps -ax
ps -e -j
但我没有找到描述后台进程的属性。+尝试使用 top 命令,但没有结果 :(
嗯,我想我应该看到一个进程的优先级,如果这个进程的优先级低于非后台模拟进程,那么我们就可以得出结论,有一个后台进程。
但这只是猜测……
答案1
正确的命令是
jobs
如果你希望获得更多信息(并非总是可用),
jobs -l
如果你想把第三项工作放在首位,
fg %3
如果你有一个停止的任务,你可以通过以下方式在后台恢复其执行
bg %3
至于 BSD 样式的输出 ps ax(顺便说一句,我也使用它),它的信息量不是很大:如果后台进程正在等待事件(用户输入?),它将显示其处于 S 状态(可中断睡眠),如果正在运行,它将显示其处于 R 状态。但这不会在众多其他进程中将它们单独挑出来。您确实可以通过将此信息与用户所有权和执行终端相结合来识别它,但我从不这样做,因为它太麻烦了。
答案2
我认为这可能有帮助。在 freeBSD 中,ps -a 仅显示用户进程,而不是所有进程,因此要列出所有进程
ps -awx -l
这将列出您需要的所有流程。希望这对您有所帮助