netstat -tln | grep 8000
查找被占用的端口
sudo lsof -i :8000
查看被占用端口的PID
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 23882 zhouwude 3u IPv4 0xfbba3d14201dc2b7 0t0 TCP *:irdmi (LISTEN)
sudo kill -9 pid
kill掉该进程
lsof
列出打开的文件和相应的进程。
注意:需要Root权限(或sudo)来列出其他人打开的文件。
lsof path/to/file
查找打开给定文件的进程
lsof -i :port
查找打开本地internet端口的进程
lsof -t path/to/file
只输出进程ID
lsof -u username
列出由给定用户打开的文件
lsof -c process_or_command_name
列出由给定命令或进程打开的文件
lsof -p PID
给定PID,列出由特定进程打开的文件
lsof +D path/to/directory
列出目录中打开的文件
kill
向进程发送信号,通常与停止进程有关。
除了SIGKILL和SIGSTOP之外,所有信号都可以被进程拦截,以执行干净的退出
kill process_id
使用默认SIGTERM (Terminate)信号终止程序
kill -l
列出可用的信号名称(不使用“SIG”前缀)
kill -1|HUP process_id
使用SIGHUP(挂断)信号终止程序。许多守护进程将重新加载而不是终止
kill -2|INT process_id
使用SIGINT(中断)信号终止程序。这通常是由用户按Ctrl + C键发起的
kill -9|KILL process_id
向操作系统发出信号,使其立即终止程序(程序没有机会捕获信号)
kill -17|STOP process_id
通知操作系统暂停程序,直到接收到SIGCONT(“continue”)信号