2013-04-26 39 views
-1

我想在我的$ PROMPT中显示一些后台进程的数量。是否有一种变量或方法可以将流程识别为可以编写脚本的后台?后台进程的数量

+1

什么操作系统?什么外壳? – 2013-04-26 04:50:48

回答

1

命令作业给出了后台进程的列表。你可以这样做:

jobs | wc -l 

来计算后台作业的数量。

+0

虽然这不会在提示中显示 – 2013-04-26 04:55:17

1

如果你在Linux和使用的bash外壳,您可以使用$()作为$PS变量的一部分运行命令。命令ps -ea -ocmd,stat | grep -w S | wc -l应该给你列出当前没有睡眠的所有进程(我想这就是你的意思是“背景”)。所以说,正常的提示是:

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

与提示类似的结果:myhost ~ 61 #

如果你想实际背景工作

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

然后你就可以插入背景特效是当前shell的一部分,则用jobs | wc -l替换命令:

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W $(jobs | wc -l) \$\[\033[00m\] '