后台查进程

2 02 3 年,朋友换了Mac,问我如何查看后台进程。
我向他解释道。

上周,在Mac上,她能够访问系统内置的“活动监视器”,点击它可以查看内存和CPU使用率等进程信息。

Linux/Unix 系统很简单。
您可以使用 ps 命令查看所有进程并添加要过滤的条件。

她还想知道如何管理后台进程,所以我告诉她用nohup来运行程序,用jobs来观察后台进程,用fg将后台进程拉回到前台,用kill来结束进程。

她表情很严肃,说回去试试。
算了,我也不太懂,就随便说说。

linux后台运行、关闭、查看后台任务常用命令

哎,这个Linux命令就像2 02 2 年某个城市突然出现的这个新命令一样,让人有点摸不着头脑。
例如,如果您希望脚本在后台运行,则可以在命令后添加 &,如 [root@bqh-01 ~]watch-n3 "sh1 .sh"。
这个东西每隔3 秒就会在后台运行一次sh1 脚本,非常方便。

然后你在前台运行一个命令,突然想做点别的事情。
这就是 Ctrl+z 派上用场的地方。
它可以暂停命令并将其变成后台任务。

再看看 jobs 命令。
它可以告诉您有多少命令正在后台运行及其 PID。
状态包括正在运行、已停止和已完成。
如果任务被中断,shell 会将其从列表中删除。

如果要将后台作业移至前台并继续运行,请使用 fg%jobnumber。
注意,这里所说的订单号是订单号,不是流程号。

至于bg命令,它允许在后台暂停的命令继续运行。
如果要调用特定命令,请使用 bg%jobnumber。

那么如果想结束前台进程,Ctrl+c就够了。

我们来说说nohup,这个东西很强大,它可以让程序一直在后台运行,即使你关闭终端也无法停止。
注销账户或关闭终端后,使用 ps-aux|grep "1 .sh" 查找。

嘿,这些订单就像这座城市。
各种功能要慢慢探索。

Linux管理后台任务的常见命令

我记得有一次我在实验室调试代码。
我编写了一个需要几个小时才能运行的脚本。
如果我关掉电脑,那就白费力气了。
赶紧用nohup ./my_script.sh > script.log 2 >&1 &,看着它在后台乖乖运行,心里舒服多了。

但是,有时我手滑了,忘记添加nohup。
结果,当我关闭终端时,脚本停止,我必须打开远程连接才能重新启动。
这个时候,杀戮就有用了。
首先,ps到| grep my_script 找到 PID,然后杀死 -9 PID 以强制删除它。
但如果你忘记保存PID,你就得从头再来...
我最近开始使用tmux,它似乎比screen更方便。
您无需切换窗口即可分屏查看日志和调试代码。
昨天我在服务器上进行了测试。
SSH一断开,我回过神来就发现任务还在运行。
这是 tmux Attach-session -t my_test。
我不记得这一步的快捷键了。

等一下,好像jobs也有-l参数来显示PID。
我之前确实没有注意到这一点。
如果脚本名称重复,使用 pgrep -f my_script 检查 PID 应该会更稳定。
但是为什么kill可以直接使用PID而不是sudo呢?您必须阅读该手册页。