gpt4 book ai didi

linux - 我如何知道命令 "ps"或 "ps -ef"中的进程是在后台运行还是在前台运行?

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:11 30 4
gpt4 key购买 nike

如何通过命令“ps”或“ps -ef”知道进程是在后台运行还是在前台运行?

我首先想到的是,当我输入 ps -ef 时,有一个名为 TTY 的部分。

当我查看 TTY 列表时,大多数都是“?” (问号)

我想知道这个问号是否意味着进程正在后台运行

我想验证一下我的想法是否正确!

如果没有,我想知道如何知道进程是在后台运行还是前台运行

ps。这里没有使用命令“jobs”

最佳答案

我喜欢这个问题,并且有一个扭曲的解决方案来列出有关后台作业/进程的 ps 信息。

根据作业/后台进程的定义。它们是带有 jobs -l 命令的列表。

  1. 将后台作业 pid 存储在列表中

    echo "$(jobs -l)" | awk '{print $2}' > jobs.lst
  2. 将作业列表与当前进程相交

    ps -eo pid,args | grep -f jobs.lst

输出是后台作业的 ps -eo pid,args 结果。

为后台作业提供 id 和命令行参数。

附注

我使用ps输出选项-o仅列出pidargs。根据您的喜好更改它,但请确保 pid 存在。

关于linux - 我如何知道命令 "ps"或 "ps -ef"中的进程是在后台运行还是在前台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404808/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com