Nohup in Linux

在Linux中,使用nohup命令可以确保进程在用户logout后继续运行。通过`nohup command &`启动进程,并将输出重定向。如果想将输出保存到特定文件,可以使用`nohup command > filename &`。多个进程可以同时在后台运行,如`nohup command1 & nohup command2 & ...`。停止后台进程则需要找到其PID并使用`kill -9 PID`。
摘要由CSDN通过智能技术生成

在Linux中如何使用Nohup?

想象一下,有一个关键的进程在你的系统上running,而且要花很多时间。然而,这个时候你需要log out,该怎么办?我们知道,一旦你log out系统之后,所有的进程都会终止。如果你希望你的进程可以在你log out之后继续running,你可以使用nohup命令。

Nohup命令的语法:

$ nohup commond arguments

or

$ nohup options

找到Nohup命令的帮助文档:

$ nohup --help

查看Nohup的版本:

$ nohup --version

使用Nohup开始一个进程。

使用如下命令可以让你的命令和进程即使在你退出shell之后依旧运行:

$ nohup command

你执行上述命令之后,所有输出包括错误信息都将被添加到home目录或者当前目录下的nohup.out文件中。并且,即使shell被关闭或者你log out系统了,上面执行的命令也不会停止。

将输出重定向到其他文件。

默认情况下,输出都会被添加到nohup.out文件中,重定向的话需要用到>重定向运算符,后接指定文件的名称。例如,使用以下命令将nohup命令的输出保存到名为"mysript.sh"的新文件中。

$ sudo nohup ./mn.sh > myscript.sh &

启动该进程并置于后台

为了启动该进程并置于后台,你可以使用一下命令:

$  sudo nohup command &

&符号告诉shell在后台执行该command,执行该命令后会返回一个进程号。如果要将其带到前沿来,使用"fg"命令。

$ fg sudo nohup command

使用Nohup在后台中运行多个进程

例如,使用如下命令可以让mkdir,ping和ls三个命令在后台执行。

$ sudo nohup bash -c 'mkdir file && ping -c 1 google.com && ls'

停止后台运行的进程

使用如下命令停止后台运行的命令:

$ kill -9 PID

PID就是使用’&'后会产生的进程号,当然也可以使用pgrep -a command来寻找PID。如果你使用Ping命令时用了nohup置于后台,即使你关闭了shell,Ping依旧会执行。这时你就可以使用如下命令找到Ping的PID:

$ pgrep -a ping

然后你就可以使用kill -9 PID来停止这个命令了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值