后台进程数[关闭]

问题描述 投票:-1回答:2

我想在我的$ PROMPT中添加一些显示后台进程数的内容。有没有变量或方法可以将进程标识为可以编写脚本的后台程序?

shell
2个回答
1
投票

命令作业提供了后台进程列表。你可以做:

jobs | wc -l

计算后台作业的数量。


1
投票

如果你在linux中并使用bash shell,你可以使用$( )作为$PS变量的一部分来运行命令。命令ps -ea -ocmd,stat | grep -w S | wc -l应该给你一个当前没有睡觉的所有进程的列表(我假设你的意思是“背景”)。所以说正常的提示是:

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '

然后你可以通过以下方式插入后台过程:

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W $( ps -ea -ocmd,stat | grep -w S | wc -l ) \$\[\033[00m\] '

结果如下:myhost ~ 61 #

如果您想要当前shell的实际后台作业,请将命令替换为jobs | wc -l

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W $( jobs | wc -l ) \$\[\033[00m\] '
© www.soinside.com 2019 - 2024. All rights reserved.