K.P*_*aul 3 linux ps background-process
我如何知道进程是在命令中ps还是在后台运行或在前台运行ps -ef?
我首先想到的是,当我输入时ps -ef,有一个名为 TTY 的部分。当我查看 TTY 列表时,其中大部分是?. 我想知道那个问号是否意味着进程运行后台。
我想检查我是否正确!如果没有,我想知道如何知道进程是在后台运行还是在前台运行?
附:jobs此处不使用命令。
该stat字段有一个额外+的前台进程:
ps -e -o pid,tty,stat,cmd
Run Code Online (Sandbox Code Playgroud)
前台进程是那些进程组 id ( pgid) 是终端 ( tpgid)上的前台进程组的进程:
ps -e -o pid,pgid,tpgid,tty,cmd | awk '$2==$3'
Run Code Online (Sandbox Code Playgroud)
当我查看 TTY 列表时,大多数都是“?” (问号)不知那个问号是不是表示进程运行后台
不,这意味着它们没有控制 tty(守护进程或内核线程,既不是前台也不是后台)。有关后台进程的列表:
ps -e -o pid,pgid,tpgid,tty,cmd | awk '$3!=-1 && $2!=$3'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1163 次 |
| 最近记录: |