Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令

今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!
错误写法:nohup java -jar /home/zdzjar.jar >/home/logs/zdz.out 2>&1
正确写法:nohup java -jar /home/zdzjar.jar >/home/logs/zdz.out 2>&1 &
在后面加上 & 后就会自动退出命令在后台运行了。真是细节决定成败!

-------------------------
nohup 用途:LINUX命令用法,不挂断地运行命令。   

语法:nohup Command [ Arg ... ] [ & ]   

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

如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。   

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

nohup命令及其输出文件   

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。
  
该命令的一般形式为:nohup command &   使用nohup命令提交作业   

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:   
nohup command > myout.file 2>&1 &   
在上面的例子中,输出被重定向到myout.file文件中。  
 
nohup java -jar zdzjar.jar > nohup.out 2>&1 &
//关闭进程
ps -aux | grep java
kill -s 9 xxx
xxx代表上一步查出的进程ID

可以直接用一句话执行
ps aux |grep zdzjar.jar |grep -v grep |awk '{print $2}' |xargs kill -9
或者
ps -ef|grep -v grep|grep zdzjar.jar | grep java |awk '{print "kill -9 "$2}'|sh

Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令的更多相关文章

  1. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  2. linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  3. Linux下使用Nohup后台运行程序

    一.不输出日志的命令 #!/bin/bash echo "starting nohup..." nohup dotnet ./mynetcoreapp.dll > /dev/ ...

  4. Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 2.输入ctrl + z 暂停任务 3.bg将其放入后台 4.disown -h 将这个作业忽略HUP信号 5.测试会话中断,任务继 ...

  5. Linux下Java性能监控

    Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...

  6. linux下Java环境的配置

    linux下Java环境的配置 现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java ...

  7. Linux 下Tomcat的启动、关闭、杀死进程

    Linux下Tomcat的启动.关闭.杀死进程 打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat ...

  8. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  9. JDK问题--linux下java unrecognized class file version错误的解决

    linux下java unrecognized class file version错误的解决 环境:RedHat Linux Enterprise 5.4 问题:java.sun.com下载jdk1 ...

随机推荐

  1. MYSQL PROCEDURE 测试用例

    /** * 查询俱协信息 */ DROP PROCEDURE IF EXISTS `get_club_list`; DELIMITER $$ CREATE PROCEDURE `get_club_li ...

  2. python基本运算符、比较运算符、赋值运算符、逻辑运算符

    # 基本运算符号: " + - * / % ** //" # a=20# b=30## print(a+b) #相加 当是: "+" a+b输出的结果:50## ...

  3. 关于时间的SQL语句

    取当前时间: select current_timestamp; 输出:2016-06-16 16:12:52 select now();  输出:2016-06-16 16:12:52 取当前时间的 ...

  4. jenkins windows slave 报错ERROR: Error cloning remote repo 'origin'

    在slave上是git clone ssh是可以成功的,但是jenkins调用slave节点就报如下错误: ERROR: Error cloning remote repo 'origin' huds ...

  5. 20165321 2017-2018-2《Java程序设计》课程总结

    每周作业链接汇总 预备作业1:20165321 我期望的师生关系 预备作业2:20165321 学习基础与C语言学习心得 预备作业3:20165321预备作业3:Linux安装及命令入门 第一周作业: ...

  6. python更新zip文件中文件

    #更新zip文件中某一个文件import os import shutil import tempfile import zipfile from rat_tool.pack import * too ...

  7. 从零开始一起学习SLAM | 你好,点云

    本文提纲 先热热身点云是啥你知道点云优缺点吗?点云库PCL:开发者的福音PCL安装指北炒鸡简单的PCL实践留个作业再走先热热身 小白:hi,师兄,好久不见师兄:师妹好,上周单应矩阵作业做了吗?小白:嗯 ...

  8. (已解决)在linux的虚拟机上安装vmware tools(实现windows与虚拟机之间的文件交互复制粘贴)

    Linux下需要安装VMware Tools工具来实现主机和虚拟机直接文件复制粘贴功能,安装方法如下: ①点击虚拟机VM菜单栏--虚拟机--安装VMware Tools. ②然后RedHat系统中弹出 ...

  9. cookie和session必须了解的东西

    Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能. Cookie的Domain和Path属性标识 ...

  10. php 提取多维数组指定列

    前言:有时候在开发中会遇到这样的问题,我们需要把有规律的多维数组按照纵向(列)取出,有下面的方法可用: 我们将拿下面的数组来处理: 1 $arr = array( 2 '0' => array( ...