我想在我的$ PROMPT中添加一些显示后台进程数的内容。有没有变量或方法可以将进程标识为可以编写脚本的后台程序?
命令作业提供了后台进程列表。你可以做:
jobs | wc -l
计算后台作业的数量。
如果你在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\] '