zoukankan      html  css  js  c++  java
  • linux nohup命令

    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 motorcade_new.jar > nohup.out 2>&1 & 
     
    //关闭进程
    ps -aux | grep java
    kill -s 9 24204
     
    24204代表上一步查出的进程ID
     

    nohup java -jar
    -Xms1024m
    -Xmx1024m
    -Dport=8001
    -DdefaultZone=http://user:password@ip:6868/eureka/
    -DzipkinUrl=http://ip:9411
    -DmongodbIP=ip1:27017,ip2:27017,ip3:27017
    -DconfigProfile=dev
    -DconfigLabel=master /opt/rocky/rockyGateway*.jar >> /opt/rocky/rockyGateway.log 2>&1 &

    Linux 运行jar包命令如下:

    方式一:

     
    1. java -jar shareniu.jar

    特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

    那如何让窗口不锁定?

    方式二

     
    1. java -jar shareniu.jar &

    &代表在后台运行。

    特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

    继续改进,如何让窗口关闭时,程序仍然运行?

    方式三

    nohup java -jar shareniu.jar &

    nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

    当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

    方式四

     
    1. nohup java -jar shareniu.jar >temp.txt &

    解释下 >temp.txt

    command >out.file

    command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

    可通过jobs命令查看后台运行任务

     
    1. jobs

    那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
    如果想将某个作业调回前台控制,只需要 fg + 编号即可。

     
    1. fg 23

    查看某端口占用的线程的pid

    netstat -nlp |grep :9181

  • 相关阅读:
    libevent简介[翻译]3 前言
    libevent简介[翻译]2 关于异步IO的简单介绍
    gdb调试子进程
    openSUSE Firewalld
    libevent简介[翻译]1 关于这个文档
    构建libevent pdf 文档
    openSUSE编译libevent
    为openSUSE添加源
    .Net Core3.0 WebApi 项目框架搭建 五:仓储模式
    .Net Core3.0 WebApi 项目框架搭建 四:JWT权限验证
  • 原文地址:https://www.cnblogs.com/xifenglou/p/9361778.html
Copyright © 2011-2022 走看看