nohup 命令总结

当你在Unix/Linux平台上运行程序时,需要在终端重复输入或者需要在终端断开后依然运行,可以用nohup和&命令组合的形式实现。

nohup 命令
  用途:不挂断地运行命令。
  语法:nohup Command [ Arg ... ] [ & ]
     描述:nohup 命令运行由Command 参数和任何相关的Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用nohup 命令运行后台中的程序。要运行后台中的nohup 命令,添加& ( 表示“and”的符号)到命令的尾部。

 

下面对这两种命令的实际使用情况进行分析(以运行一个python代码为例):

nohup和&代码示例终端的标准输出标准输入关闭终端后
都不使用python train.py (Command)命令的输出被显示在终端中,可以查看不可以在当前终端继续输入程序终止,输出没有保存
只使用nohup

nohup python train.py 

命令的输出被显示在终端中,可以查看不可以在当前终端继续输入程序继续运行同时输出被保存在 ./nohup.out文件中
只使用&python train.py &以后台形式运行程序,命令的输出不可查看可以在当前终端继续输入程序终止,输出没有保存
同时使用nohup python train.py &命令的输出被显示在终端中,可以查看可以在当前终端继续输入程序继续运行同时输出被保存在 ./nohup.out文件中

 

 

 

 

 

 

nohup命令的参数[Arg...]中常用的是命令的日志输出路径,默认的输出位置是当前位置下的nohup.out文件,也可以自己指定保存的文件train_out.file或者不保存:

nohup python train.py  1> train_out.file 2>&1 & 指定输出和错误到train_out.file
nohup python train.py  1> /dev/null  2>&1 & 输出到空文件位置,也就是不保存所有信息
nohup python train.py  1> train_out.file 2>error & 将错误输出到error文件,输出到train_out.file

如果需要结束代码,只需要通过    ps -ef | grep python       命令查找对应python进程的pid,然后kill掉就好了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值