Linux 进程控制:前后台、信号与端口排查

一、前后台切换

cmd &        # 后台运行
jobs          # 查看后台任务
fg %1         # 调回前台
bg %1         # 后台继续

二、退出终端不中断

普通后台进程在终端关闭时会收到 SIGHUP 退出。用 nohup 忽略挂断信号,或 disown 从 shell 任务表移除:

nohup java -jar app.jar > app.log 2>&1 &
disown       # 之后关闭终端也不杀进程

三、发送信号

命令 作用
kill -15 PID TERM,优雅终止(默认)
kill -9 PID KILL,强制杀死(最后手段,可能丢数据)
pkill -f name 按进程名匹配杀
killall nginx 按名字杀全部

四、查端口占用

ss -lntp | grep :8080
lsof -i:8080      # 看哪个进程占端口
netstat -tunlp    # 老工具,同理

优先 -15 给程序清理机会;-9 只在无响应时用,避免破坏文件锁/半写状态。