Linux中的nohup命令怎么用

45次阅读
没有评论

共计 1461 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 Linux 中的 nohup 命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

这时我们就可以使用 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 命令也行。

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

$kill -9 14942

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Linux 中的 nohup 命令怎么用”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计1461字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)