联博api:Linux nohup下令详解,终端关闭程序依然可以在执行!

admin 5个月前 (06-19) 科技 28 0

人人好,我是良许。

在工作中,我们很经常跑一个很主要的程序,有时刻这个程序需要跑好几个小时,甚至需要几天,这个时刻若是我们退出终端,或者网络欠好毗邻中止,那么程序就会被中止。而这个情形一定不是我们想看到的,我们希望纵然终端关闭,程序依然可以在跑。

这时我们就可以使用 nohup 这个下令。

nohup 下令是英语词组 no hangup 的缩写,意思是不挂断,也就是指程序不退出。这个下令会使程序忽略 HUP 信号,保证程序能够正常举行。HUP 信号有些人可能对照生疏,它是在终端被中止的时刻向它所关联的历程所发出的信号,历程收到这个信号后就会中止运行。以是若是你不希望历程被这个信号干掉的话,就可以忽略这个信号。而 nohup 下令做的就是这个事情。

本文我们将详细先容 nohup 下令的详细用法。

nohup下令基本语法

nohup 下令的基本语法如下:

$ nohup command arguments

或者:

$ nohup options

若是你想要获得更多关于 nohup 的用法先容,可以查看它的辅助页面:

$ nohup --help

若是你需要查看它的版本号,可以使用 --version 选项。

$ nohup --version

使用nohup下令启动一个程序

若是你需要运行一个程序,纵然对应的 Shell 被退出后依然保持运行,可以这样使用 nohup 运行这个程序:

$ nohup command

当这个程序举行起来之后,这个程序对应的 log 输出及其错误日志都将被记录在 nohup.out 文件里,这个文件一样平常位于家目录或者当前目录。

重定向程序的输出

若是我不想把程序的输出保留在家目录或者当前目录,我想保留在我指定的路径,而且自定义文件名,要怎么操作?这时我们就可以使用重定向操作 >

好比,我现在有个剧本 myScript.sh 我想把它的输出保留在家目录下的 output 目录下,文件名为 myOutput.txt ,可以这样运行:

$ nohup ./myScript.sh > ~/output/myOutput.txt

使用nohup下令后台启动一个程序

若是想让程序在后台运行,可以加上 & 符号。但这样运行之后,程序就无影无踪了。想要让程序重新回到终端,可以使用 fg 下令。

这个下令的输出 log 将保留在 nohup.out 文件里,你可以使用 cat 或其它下令查看。第二行里 8699 这个数字代表这个下令对应的历程号,也就是 pid 。我们可以使用 ps 下令来找到这个历程。

使用nohup同时运行多个程序

若是你需要同时跑多个程序,没必要一个个运行,直接使用 && 符号即可。好比,你想同时跑 mkdir ,ping,ls 三个下令,可以这样运行:

$ nohup bash -c 'mkdir files &&
ping -c 1 baidu.com && ls'> output.txt

终止跑在后台的历程

上面有提到,nohup 下令连系 & 符号可以使历程在后台运行,纵然关闭了终端依然不受影响。这时,若是想要终止这个历程,要怎么操作呢?

最简朴的当属 kill 下令,信赖人人用过很多次了。

$ kill -9 PID

那要若何找到历程对应的 pid 呢?我们可以使用 ps 下令。

$ ps aux | grep myScript.sh

或者你使用 pgrep 下令也行。

联博api:Linux nohup下令详解,终端关闭程序依然可以在执行! 第1张

接下来,再使用 kill 下令就可以终止该历程了。

$ kill -9 14942

民众号:良许Linux

联博api:Linux nohup下令详解,终端关闭程序依然可以在执行! 第2张

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

,

Allbet电脑版下载

欢迎进入Allbet电脑版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

Sunbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:联博api:Linux nohup下令详解,终端关闭程序依然可以在执行!

网友评论

  • (*)

最新评论

文章归档

站点信息

  • 文章总数:712
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1137
  • 评论总数:269
  • 浏览总数:18500