【19】linux进阶——后台运行(&)和nohup命令

文章介绍了如何在Linux中进行后台运行命令,特别是使用nohup进行不挂断运行,并结合&符号进行进程管理。通过ping命令示例,解释了nohup.out日志文件的生成以及如何重定向输出。同时,提到了进程的终止方式和标准输入输出的重定向概念。
摘要由CSDN通过智能技术生成

 大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家

另外其它专栏请关注:

锐捷数通实验:锐捷数通实验

网络工程师成长日志:网络工程师的成长日志

it自动化运维:IT自动化运维

目录

一 &后台运行

二 nohup不挂断运行

 三 nohup+&命令结合使用


一 &后台运行

我们使用ping命令来验证后台运行,ping命令后面+&即可 

ping www.baidu.com &

 可见我们不管是使用ctrl+c还是输入其它命令都无法打断ping命令的日志输出,因为此时ping命令在后台运行,我们只能用kill阻断进程的方式来终止ping命令

二 nohup不挂断运行

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中

我们继续用ping命令来验证

nohup ping www.baidu.com

 可以发现没有在控制台输出,而是出现了一段提示信息,nohup: ignoring input and appending output to ‘nohup.out’,它的意思是“nohup:忽略输入并将输出附加到“nohup.out”

 我们通过ll命令发现同级目录下出现了一个nohup.out文件

用tail -f  nohup.out命令可以发现ping命令输出的日志被重定向到了这个文件

但是你在控制台ctrl+c,照样能终止进程

 三 nohup+&命令结合使用

 nohup ping www.baidu.com &

可以看到在控制台输入ctrl+c也无法终止进程 

 只能通过kill进程的方式来终端ping命令的输出

以下命令非常常用,后台不挂断的将命令产生的日志重定向到指定文件

 `nohup ping www.baidu.com > /var/ping.log 2>&1 &

这里也是使用kill命令才能终止ping进程,2>&1是告诉bash到任何错误重定向到相同的文件。最后的&指示 bash 在后台运行此命令

2>&1 解释:

将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。

  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)

 “生活的方向无论你如何选择都会后悔,人总向往没经历过的生活” 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天亮之前_ict

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值