1.nohup和&
语法:nohup Command [ Arg … ] [& ]
nohup:不挂断地运行命令
&:在后台运行
示例:nohup java -jar app2.jar >app2.txt &
>app2.txt 是将command的输出重定向到app2.txt 文件,即输出内容不打印到屏幕上,而是输出到app2.txt 文件中。
2.查看运行的后台进程
(1)jobs -l
jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)
(2)ps -ef
用ps -def | grep查找进程很方便,最后一行总是会grep自己
示例:ps -ef | grep jar | grep -v grep
注:用grep -v参数可以将grep命令排除掉
(3)ps -aux
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
示例:ps -aux|grep chat.js| grep -v grep
(4)awk 输出列
示例:ps -aux|grep chat.js| grep -v grep | awk '{print $2}'
(5)如果某个进程起不来,可能是某个端口被占用,查看使用某端口的进程
lsof -i:端口号
(6)查看正在使用某个端口号的pid
netstat -nap | grep 9080
3.终止后台运行的进程
kill -9 进程号
4.Linux中怎么通过PID号找到对应的进程名及所在目录
有时候通过top命令可以看到有个别进程占用的内存比较大,但是top无法直接查看到进程名以及进程所在的目录。所以我们可以通过以下方法来定位。
首先需要知道PID号,可以通过top命令获取。
得知PID之后可以直接进入/proc/PID
(1)cd /proc/PID
(2)ls -ail