nohup和&的区别

转自:nohup和&的区别 https://blog.csdn.net/zhang_red/article/details/52789691

nohup是永久执行

&是指在后台运行

运行 nohup –help
Run COMMAND, ignoring hangup signals. 可以看到是“运行命令,忽略挂起信号”

就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

那么,我们可以巧妙的吧他们结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行

举个例子
使用natapp内网穿透的时候想让程序一直在后台执行,即使ssh连接关闭也可以执行

root@VM-7-ubuntu:/home/ubuntu# nohup ./natapp -authtoken=xxxxxxxxx -log=stdout &
root@VM-7-ubuntu:/home/ubuntu# ps -ef | grep natapp
root      2155     1  0 Mar26 ?        00:00:07 ./natapp -authtoken=xxxxxxxxx -log=stdout
root      2259 14858  0 21:41 pts/0    00:00:00 grep --color=auto natapp
root@VM-7-3-ubuntu:/home/ubuntu# 

想停止运行也很简单

root@VM-7-ubuntu:/home/ubuntu# kill -9 2155

这样就能终止程序的运行了

另外,nohup执行后,会产生日子文件,把命令的执行中的消息保存到这个文件中,一般在当前目录下,如果当前目录不可写,那么自动保存到执行这个命令的用户的home目录下,例如root的话就保存在/root/下

这个我们常在运行命令和脚本中常用到的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值