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

说实话,我当时并不太理解这个Linux后台进程……不过后来想了想就想通了。

1 .在命令末尾添加 & 例如:参见-n 3 “sh1 .sh” 此命令每 3 秒在后台运行一次“sh1 .sh”脚本。
我之前在 bqh-01 服务器上尝试过。
车站没有显示任何内容,但脚本已经在后台运行。

2 Ctrl+Z 这个键非常有用。
比如,你正在慢慢计算一组数据,突然想到了什么,就按Ctrl+z来停止,但这没有关系。
上次分析数据时,我用Ctrl+z停止计算,跑去拿一杯水。

3 工作机会 此命令检查后台正在运行的内容。
例如,如果您打开了三个后台命令,则可以使用任务来查看它们的状态。
我尝试使用jobs -l,突然看到了进程PID号,这让我震惊了。
状态包括运行(running)、停止(stopping)、结束(escaping)。
如果命令停止,则使用任务将看不到该命令。

4 .fg 将后台命令带到前台。
例如,如果您打开了 5 个后台命令,请使用 fg%1 选择第一个命令。
我上次更改了配置并使用 fg%2 调用第二个命令并继续处理它。

5 PG 保持暂停的后台命令运行。
例如,您可以使用 Ctrl+z 停止命令,然后使用 bg 允许它继续运行。
上次上传大文件时,我使用Ctrl+z停止,然后使用bg继续上传。

6 杀 这是最残酷的。
前台命令Ctrl+c直接kill。
我在测试的时候,不小心按下了停止按钮,整个程序就消失了,这让我很震惊。

七,诺霍布 这是一件神器。
让命令在关闭设备后继续运行。
例如,nohup watch.sh 将在设备关闭时继续运行。
上次做2 4 小时任务,用nohup就不用担心终端关闭了。
但是使用nohup之后,我在使用tasks时就看不到这个了。

8 注意事项 这时候就得用PS来找了。
例如 ps -aux|grep "sh1 .sh" 可以查看所有用户、所有终端、所有进程。
上次找后台命令,发现是用这个命令。

总之,后端操作其实是一个技术活。
一开始我总是对命令感到困惑,但后来尝试了几次就习惯了。

Linux|退出终端后让程序后台运行,记得最后exit

2 02 2 年,我在某个城市使用Linux系统。
我当时很困惑,想在后台运行一个 Rails 服务。
不要忘记绑定到所有 0.0.0.0 网络接口。
我当时所做的就是在 nohup 之前添加一个命令,后跟一个 & 符号。
那时,我想,它现在可以在后台运行了。

当时没怎么关注,后来才知道nohup还是蛮神奇的。
它忽略 SIGHUP 信号,因此即使终端关闭也不会停止。
它有自己的输出,默认传输到nohup.out文件,非常方便。

我还需要注意终端输出的细节。
您必须使用出口。
您无法直接或按 Ctrl+C 关闭窗口。
因为 exit 可以优雅地终止会话,将 nohup 进程抛在后面。
简单地关闭窗口可能不起作用并导致进程终止。

我尝试直接使用make命令来跟踪&。
我当时还挺自豪的,以为这样就可以让它暂时在后台运行了。
但实际上关闭终端后该过程仍然会中断。
所以后来我学会了聪明。
我将命令写在脚本中,例如b.sh,为其添加执行权限,然后使用nohup运行脚本。
通过添加 & 符号,它将在后台运行。

后来我也需要管理进程,所以我使用jobs命令来检查后台进程。
如果我想杀死这个进程,我必须先找到它的PID,然后再杀死它。

当时我要检查程序是否正常工作,看看nohup.out文件。
或者我使用 SSH 注销然后重新登录以检查该进程是否仍然存在。
这样我终于明白了Linux进程后台运行的问题了。

linux后台关程序

好了,你的描述已经很完整了,基本的操作都给你列出来了。
但我必须告诉你我走过的坑,以及一些更详细的经历。

比如,当你使用Kill的时候,你之前就已经吃过损失了。
我记得去年我在服务器上创建了一个Python脚本。
他死后,我用kill试图杀死他,但他没有反应。
我太担心了,我杀了 -9 然后他就消失了。
结果第二天就发现这个脚本本来是要写记录的,结果被我强行杀掉了。
日志文件里有一堆乱码,我只好重新运行一下。
所以你看,能用kill的就尽量用kill。
Kill-9 是最后的手段,尤其是暴力。

还有 pkill 命令,我有时很容易使用它。
例如,在您的示例中, pkill myprogram 将查找具有该名称的所有进程。
但请注意,如果系统中存在多个具有相似名称的进程,这可能会将它们全部杀死。
之前系统自带的攻击我几乎都杀掉了。
幸好我反应快,赶紧按Ctrl+C制止了。
因此,在使用pkill时,最好先使用pgrep myprogram检查所涉及的进程并确认。

我经常使用 Ctrl+C 和 Ctrl+Z。
编写代码时,如果不小心按错了键或者程序运行缓慢,只需按Ctrl+C即可停止。
如果你想先做点别的事情,但又不想让程序完全停止,Ctrl+Z会挂在后台,然后使用bg让它在后台静默运行。
该技术在虚拟机中特别有用。
否则,一个窗口正在运行程序,而另一个窗口正在尝试检查信息,从而使屏幕变得混乱。

我也经常使用系统监视器,尤其是 htop 工具。
以前用的是GNOME,看起来很麻烦,后来安装了htop,一目了然,CPU、内存、磁盘都浮在屏幕上了。
如果你想杀死进程,只需点击鼠标,右键选择“杀死”,这比使用命令行要快得多。
但你必须自己安装这个,并不是所有系统都附带它。

至于服务管理工具,去年我在Ubuntu上做过一次,想停止Docker服务。
本来想用systemctl停止docker.service,结果直接说“Error: Unknown service”。
检查了很久,发现应该跑首先 sudo systemctl Status Docker 查看服务名称是否正确,然后最后更改为 sudo Systemctl Stop Docker。
因此,在使用这些高级命令之前,请先确认服务名称,不要随意键入。

但是,您可以使用这些方法来关闭Linux后台的程序。
但记住我的话,使用kill -9 很有趣,但后果可能很严重,所以要谨慎使用。
如果顺利使用其他方法,大多数情况都可以解决。