[linux]linux命令的后台不挂断运行

[转自: http://blog.csdn.net/zjc/article/details/51484114]

command & 这是什么?

命令后面加上&符号,是干啥的?  是为了让命令转入后台运行,我们可以敲其他命令干别的事。

但是有个困扰,当command命令执行出output结果时候,还是会弹出来干扰我们。用这个办法command > output & 就能解决这个问题,它实现了把命令的输出结果重定向输出到output文件中。

但是还有个困扰,当command命令产生了错误输出时候,还是会弹出来干扰我们。用这个办法command > output  2 > error & 就能解决这个问题,它可以把错误输出重定向到error文件中。

command > output & 等同于 command 1 > output &, 把命令的输出重定向到output文件。


0:  stdin  标准输入

1:  stdout 标准输出

2:  stderr 标准错误


有时候我们并不关心output和错误输出的结果,又不想让它们干扰我们,好了那就用这样的办法:

command > /dev/null  2 > /dev/null , 

command > /dev/null 2 > error ,

command > output  2 > /dev/null,其中/dev/null表示空设备,把内容重定向到空设备了,当然就等于该内容没有重定向,说明它不是我们关注的。


如果想把stdout和stderr都重定向到一个文件怎么办呢?  

那就用到了2和1之间的重定向。2 > &1 ,用法:  command 1 > output 2 > &1 &, 这里2>&1就是把标准错误重定向到标准输出了,标准输出最后重定向到output,那么command命令的stdout和stderr都统一输出到output 文件了。

既然stdout和stderr都重定向到output,那这样写不就好了: command > output 2 > output &。 其实这样是不行的,stdout和stderr的文件名一致的话会冲突。因此想要忽略stdout,stderr就用commad > /dev/null 2 > &1 & 


但是使用command > output 2>&1 & 有个问题,那就是每次运行都会覆盖原来的内容,我们想要追加效果就用>>好了:

command >> output 2 >&1 &


另外,上面的命令在shell打开的情况下是没有问题的,如果shell关掉了进程就会结束(例如:关闭窗口,退出ssh登录),我们希望窗口关掉了但是命令还不停歇的执行,就需要加上nohup:    nohup command >> output 2>&1 & 









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7上,你可以使用nohup命令来在后台运行influxdb命令,并且不会在终端开连接时停止运行。nohup命令的基本语法是: nohup Command \[ Arg ... \] \[ & \] 其中,Command是要执行的命令,Arg是一些参数,可以指定输出文件,&表示让命令后台执行。在运行influxdb命令时,你可以使用以下命令: nohup influxdb \[参数\] & 这样,influxdb命令就会在后台持续运行,即使你开了终端连接。输出结果会默认保存在名为nohup.out的文件中,如果当前目录的nohup.out文件不可写,输出会重定向到$HOME/nohup.out文件中。如果你想要终止运行influxdb命令,你可以使用ps命令查找该进程的PID,然后使用kill命令将其终止。例如: ps -ef | grep influxdb kill -9 PID 这样就可以终止influxdb命令运行了。希望对你有帮助! #### 引用[.reference_title] - *1* *3* [linux 后台运行命令](https://blog.csdn.net/qq_39905620/article/details/125674085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux-nohup指令:在系统后台运行命令,退出终端不会影响程序的运行](https://blog.csdn.net/weixin_45440484/article/details/128633759)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值