后台运行
后台运行程序的命令为nohup 命令 &
例如运行某一个可执行jar程序
nohup java -jar my-project.jar &
此时会提示当前进程的PID,回车即可
此时如果不指定日志输出位置,将默认输出到与jar包相同目录下的 nohup.out 文件中
也可对标准输出重定向到指定日志文件
nohup java -jar my-project.jar > log.log 2>&1 &
其中2>&1
表示将标准错误输出重定向到标准输出,0表示标准输入,1表示标准输出,2表示标准错误输出。
结束后台运行
方法一:
jobs
命令查看当前后台运行的程序,格式大致如下
[1]+ 运行中 nohup java -jar my-project.jar > log.log &
方括号里的1代表后台进程列表id
结束指定进程用kill %id
,id指的方括号里的数字
方法二:
netstat -nap
命令查看所有进程运行状态,包括PID和地址、端口号等信息,然后用kill PID
终止指定进程,可配合管道筛选相应的端口号,例如netstat -nap | grep 8080
另外也可用ps
命令查看运行的进程。
lsof
命令可列出所有打开的文件,包括进程名和PID等,也能达到查询PID的效果,使用时最好配合grep
命令筛选,否则列表将会很长很长很长…