搜索
简帛阁>技术文章>nohup程序命令

nohup程序命令

一、部署微服务时,通过java -jar命令运行springboot.jar微服务时,当会话结束即客户端退出时,微服务也会随之停止,为避免这种情况,可以使用nohup命令来让SpringBoot进程持续运行,不会随着SSH客户端的关闭而结束。

二、服务运行命令分析

(1)前台运行:java -jar xxx.jar,当前ssh窗口被锁定,ctrl+c可以终止程序运行;关闭ssh窗口,程序也随之关闭。

注意:运行脚本或者程序时,其他命令需要等到该命令执行完才可以执行。

(2)后台运行:java -jar  xxx.jar  &,当前ssh窗口不被锁定,ctrl+c无法终止程序运行,但是,关闭ssh窗口,程序随之关闭。其中&表示后台运行。

注意:运行脚本或者程序时,其他命令不需要等到该命令执行完就可以执行。

(3)不挂断运行:nohup java -jar XXX.jar &,当账户退出或终端ssh窗口关闭时,程序仍然运行。

注意:程序运行结果默认会输出到当前文件夹的nohup.out文件

三、运行微服务常用命令

1、微服务运行标准命令:nohup  java -jar xxx.jar >xxx.log  2>&1 & ,表示后台运行程序,同时将程序标准输出和错误输出都输出到xxx.log文件。

命令解释:

(1)> file 表示将标准输出输出到file中,也就相当于 1>file,

(2)2>&1 表示将错误重定向到标准输出上。

2、命令详解

(1)本来1----->屏幕 (1指向屏幕)

(2)执行>xxx.log后, 1----->log (1指向log)

(3)执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)

四、查看后台运行命令

1、jobs可以查看查看后台运行任务,并且每个作业前面都有个编号。

2、如果想将某个作业调回前台控制,只需要 fg + 编号即可。

五、查看进程编码(PID)和所占用的端口号

1、ps命令用来列出系统中当前运行的那些进程,通过该命令可以查看到进程编码(PID),利用以下命令查看指定进程的PID:ps -aux | grep 进程名称。

2、linux一般使用netstat 来查看系统端口使用情况。

3、netstat命令格式:netstat [选项] 

命令中各选项的含义如下:
      -a 显示所有socket,包括正在监听的。
      -c 每隔1秒就重新显示一遍,直到用户中断它。
      -i 显示所有网络接口的信息,格式同“ifconfig -e”。
      -n 以网络IP地址代替名称,显示出网络连接情形。
      -r 显示核心路由表,格式同“route -e”。
      -t 显示TCP协议的连接情况。
      -u 显示UDP协议的连接情况。
      -v 显示正在进行的工作。

4、常用netstat命令:netstat  -tunlp  |  grep  指定端口

六、关闭进程命令

1、通过pid使用kill命令关闭指定进程:kill  -[选项]  PID。

选项命令解释:

-a:当处理当前进程时,不限制命令名和进程号的对应关系;

-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;

-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;

-s <信息名称或编号>:指定要送出的信息;

-u:指定用户。

2、常用信息编号含义:

HUP     1    终端断线
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    终止(默认kill)
KILL    9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP   19    暂停(同 Ctrl + Z)
3、kill -9  PID:表示强制关闭指定进程。

七、windows指定文件夹下打开命令窗口

1、按住shift,鼠标右键,选择在此处打开PowerShell窗口。

八、运行war包

1、运行war包需要web容器(servlet容器)来运行,例如,tomcat、jetty开源容器或者weblogic收费版容器。

一、部署微服务时,通过javajar命令运行springbootjar微服务时,当会话结束即客户端退出时,微服务也会随之停止,为避免这种情况,可以使用nohup命令来让SpringBoot进程持续运行
背景很多时候我们需要在后台运行一些命令,如启动flask,之前是通过命令行后加上使其在后台运行,但加这种模式,日志记录有一些问题,然后当终端关闭的时候也会中断;当用户注销(logout)或者网络断开时
nohup命令起因ssh到机器上,然后执行某个程序,再登录发现程序早就不运行了。原因ssh过去之后,执行的大部分命令(守护进程不会断开),都是ssh进程的子进程,ssh断开,命令自然会中断解决办法命令
景:我现在需要跑脚本批量处理一些数据,但是我又不想盯着控制台看这个脚本的输出结果,想把这些输出结果记录到一个日志文件里面方案:可以使用Linux的nohup命令,把进程挂起,后台执行用法:$nohu
python中使用nohup命令python中使用nohup命令nohup功能nohup是nohangup的缩写,就是不挂断的意思。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那
一、不输出日志的命令!/bin/bashechostartingnohupnohupdotnet/mynetcoreappdll>/dev/null2>1echowebhasbeenrun
nohupnohup命令运行由Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用nohup命令运行后台中的程序。要运行后台中的nohup命令,添加(表示
nohup功能nohup是nohangup的缩写,就是不挂断的意思。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令,该命令可以在你退出帐户/关闭终端之后继
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用在程序结尾来让程序自动运行。比如我们要运行mysql在后台:/usr/local/mysql/bin/mysqld_sa
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用在程序结尾来让程序自动运行。比如我们要运行mysql在后台:/usr/local/mysql/bin/mysqld_sa