一、nohup (让命令在后台运行,放置云服务器中断命令)
nohup
命令在 Linux 和类 Unix 系统中用于在后台运行命令,即使您退出终端或注销,该命令也能继续执行。它主要用于运行长时间运行的进程,例如脚本、服务器或其他需要持续运行的程序。
nohup
命令的语法:
nohup command [arg1] [arg2] ... [&]
- command: 要在后台运行的命令。
- [arg1] [arg2] …: 命令的参数。
- &: 可选参数,将命令放到后台运行。
nohup
命令的工作原理:
nohup
命令会将命令的输出重定向到 nohup.out 文件,并将错误输出重定向到 nohup.err 文件。nohup
命令会忽略挂断信号 (SIGHUP),这意味着即使您退出终端或注销,命令也不会被终止。
nohup
命令的用法示例:
- 在后台运行一个脚本:
nohup ./my_script.sh &
这将运行名为 my_script.sh 的脚本,并将输出重定向到 nohup.out 文件,并将错误输出重定向到 nohup.err 文件。即使您退出终端,脚本也会继续运行。
- 在后台运行一个服务器:
nohup java -jar my_server.jar &
这将运行名为 my_server.jar 的 Java 服务器,并将输出重定向到 nohup.out 文件,并将错误输出重定向到 nohup.err 文件。即使您退出终端,服务器也会继续运行。
- 将输出重定向到指定文件:
nohup ./my_script.sh > output.log 2>&1 &
这将运行名为 my_script.sh
的脚本,并将标准输出和错误输出都重定向到 output.log
文件。
nohup
命令的注意事项:
- nohup 命令不会阻止命令被其他信号终止,例如 SIGKILL 信号。
- nohup 命令不会阻止命令访问终端,例如 read 命令。
- nohup 命令不会阻止命令使用终端的特殊功能,例如颜色输出。
总结:
nohup
命令是一个非常有用的工具,可以帮助您在后台运行命令,即使您退出终端或注销,命令也能继续执行。它对于运行长时间运行的进程非常有用。
二、ps (查看进程)
- 使用 ps 命令和 grep 命令:
ps aux | grep nohup
这条命令会列出所有正在运行的进程,并筛选出包含 “nohup” 的进程。您可以在输出结果中找到 nohup 运行的进程号。
三、netstat (查看端口号)
使用 netstat 命令:
netstat -aonp | grep 端口号
- netstat: 用于显示网络连接和网络统计信息。
- -a: 显示所有连接和监听端口。
- -o: 显示进程 ID (PID)。
- -p: 显示进程名称。
grep 端口号: 筛选出包含指定端口号的连接。
例如,要查看端口 8080 是否正在使用,可以使用以下命令:
netstat -aonp | grep 8080