nohup执行的jar 怎么kill_Linux后台运行任务nohup结合&用法以及如何精准查找进程并kill后台任务实践...

前言

nohup为什么要跟着&一起使用,不知道大家有没有思考过其中的小区别,另外很多人会推崇使用screen,但是实际生产环境应用场景有限我就不展开了。这次实际遇到的问题主要是因为使用crontab调用了多个不同的nohup后台执行任务,然而代码逻辑中出现对相同文件的占用导致任务进程产生冲突使得system load负载达到600之高,需要kill任务时也不能盲目操作,需要杀掉的进程多且进程名与其它正常的进程名字有交集,需要合理运用pstree找到问题的源头。Linux后台运行任务nohup结合&用法以及如何精准查找进程并kill后台任务实践

更新历史

2019年11月15日 - 初稿

扩展阅读

nohup介绍

用途:不挂断地运行命令。

语法:nohup Command [Arg …] [ & ] - 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 - 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。 - 如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值: - 126 可以查找但不能调用 Command 参数指定的命令。 - 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。否则 nohup 命令的退出状态是 Command 参数指定命令的退出状态。

nohup和&的关系

使用 nohup 运行程序:输出重定向,默认重定向到当前目录下 nohup.out 文件

使用 Ctrl + C 发送 SIGINT 信号,程序关闭

关闭 Shell Session 发送 SIGHUP 信号,程序免疫

使用 & 运行程序:程序转入后台运行

结果会输出到终端

使用 Ctrl + C 发送 SIGINT 信号,程序免疫

关闭 Shell session 发送 SIGHUP 信号,程序关闭

nohup和&使用实例一般两个一起组合使用不会受 Ctrl C 和 Shell 关闭的影响:

# 最简单的后台运行

nohup command &

# 输出默认重定向到当前目录下 nohup.out 文件

nohup python main.py &

# 自定义输出文件(标准输出和错误输出合并到 main.log)

nohup python main.py >> main.log 2>&1 &

# 与上一个例子相同作用的简写方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值