1.ps命令
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。
命令参数: a 显示所有进程 -a 显示同一终端下的所有程序 -A 显示所有进程 c 显示进程的真实名称 -N 反向选择 -e 等于“-A” e 显示环境变量 f 显示程序间的关系 -H 显示树状结构 r 显示当前终端的进程 T 显示当前终端的所有程序 u 指定用户的所有进程 -au 显示较详细的资讯 -aux 显示所有包含其他使用者的行程 -C<命令> 列出指定命令的状况 --lines<行数> 每页显示的行数 --width<字符数> 每页显示的字符数 --help 显示帮助信息 --version 显示版本显示
1.1 显示所有进程信息,连同命令行
命令:ps -ef
注意:-ef 命令参数会连同命令行打印出来
输出:
UID PID PPID C STIME TTY TIME CMD root 1 0 0 May23 ? 00:00:08 /lib/systemd/systemd --system --deserialize 21 root 2 0 0 May23 ? 00:00:00 [kthreadd] root 4 2 0 May23 ? 00:00:00 [kworker/0:0H]
参数说明:
- UID 代表执行者身份
- PID 进程的ID号!
- PPID 父进程的ID;
- C CPU使用的资源百分比
1.2 ps 与grep 常用组合用法,查找特定进程
命令:ps -ef|grep java
[test@localhost] $ ps -ef|grep java test 18835 29986 0 06:05 pts/5 00:00:00 grep --color=auto java test 25652 23863 0 03:49 pts/4 00:00:25 java -jar flep-sdk-cloud-test1-1.0-SNAPSHOT.jar
2.Linux 运行/关闭jar 包
2.1 linux 运行jar包
(1) 在Linux中运行jar包: 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉。
以下方法可让jar运行后一直在后台运行:
java -jar XXX.jar &
(2) nohup 不挂断运行的命令,当终端或者账户关闭的时候,程序依旧运行。
当前的命令默认会把日志输出到nohup.out文件中
nohup java -jar XXX.jar &
指定输出日志文件
nohup java -jar XXX.jar >log.out &
例如:jar包名称叫zentao.jar
命令如下:nohup java -jar zentao.jar >zentao.log &\
(3) 标准写法(极力推荐)
- 0 表示stdin标准输入
- 1 表示stdout标准输出
- 2 表示stderr标准错误
nohup java -jar XXX.jar >log.out 2>&1 &
>file 2>&1" 的作用是: 将命令行程序的错误输出和标准输出都输出到文件file中
& 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别的任务,配合 >file 2>&1可以将log保存到某个文件中,但如果终端关闭,则进程也停止运行。如 command > file.log 2>&1 & 。
nohup放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态,nohup一般配合&符号一起使用。如nohup command &。
2.2 关闭jar程序.
如果想杀掉运行中的jar程序,要先找到对应的pid.查看进程命令为:
ps -ef|grep zentao.jar
将会看到此jar的进程信息
root 3863 1.2 2.7 7815468 450984 ? Sl 11:44 0:16 java -jar zentao.jar root 4614 0.0 0.0 112724 984 pts/0 R+ 12:06 0:00 grep --color=auto zentao.jar
其中3863则为此jar的pid,杀掉命令为
kill -9 3863
参考文献:https://blog.csdn.net/a913858/article/details/86552365
https://www.cnblogs.com/xiangtingshen/p/10920236.html(ps操作命令)