1. jar包的运行
java -jar xxx.jar:当前ssh窗口被锁定,不可进行其它操作,ctrl + c或直接关闭窗口停止程序;java -jar xxxxx.jar &: 当前ssh窗口不被锁定,可进行其它操作,当窗口关闭时,程序退出;nohup java -jar xxx.jar &:后台挂起程序,当账户退出或终端关闭时程序停止,日志文件存储在当前目录的nohup.out文件中;nohup java -jar xxxxxx.jar > log.txt &:指定输出日志到log.txt文件,后台挂起程序,当账户退出或终端关闭时,程序仍然运行;
nohup 表示生成日志文件nohup.out,& 表示后台新启一个线程执行该命令。
nohup java -jar xxx.jar >xx.log 2>&1 & 该命令多了2>&1,它的意思是,将标准错误2重定向到标准输出1,标准输出1再被重定向输入到xx.log中; 0 – stdin (standard input,标准输入) 1 – stdout (standard output,标准输出) 2 – stderr (standard error,标准错误输出)
2. 查看运行中的jar包
# 以下几种命令均可 ps -ef | grep java 查看当前运行的java进程 ps -ef | grep xxx.jar 查看当前运行的jar进程 ps aux | grep xxx.jar # ps:process status的简称,用于显示当前进程的状态; # a:all简称,显示所有程序; # u:user简称,以用户为主的格式来显示; # x:显示所有程序,不区分终端机; # 查看某端口对应的线程pid netstat -nlp |grep :9181 # 根据进程号查看端口号 netstat -anop | grep 15161
3. jar的终止
kill -9 jar包pid # 9:使用第9种信号(sigkill)无条件终止该进程
4. jar启停脚本
# start.sh nohup java -jar 包名.jar >log.txt & echo $! > /var/run/包名.pid # 将jar包启动对应的pid写入文件中,为停止时提供pid
# shutdown.sh pid=$(cat /var/run/包名.pid) kill -9 $pid
# 给脚本添加可执行权限 sudo chmod +x ./test.sh
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论