CentOS进程远程管理指南
要进行远程进程管理,首先需要通过**SSH(Secure Shell)**协议建立安全的远程连接。SSH是Linux系统默认的安全远程登录协议,能有效加密传输数据(包括密码、命令),防止信息泄露。
CentOS系统默认安装OpenSSH客户端(openssh-clients)和服务端(openssh-server)。若未安装,可通过以下命令安装:
yum install -y openssh-clients openssh-server # CentOS 7及以下
dnf install -y openssh-clients openssh-server # CentOS 8及以上
启动SSH服务并设置开机自启:
systemctl start sshd # 启动SSH服务
systemctl enable sshd # 设置开机自启
systemctl status sshd # 检查服务状态(确认"active (running)")
使用SSH客户端(如Linux/macOS的终端、Windows的PuTTY/Xshell)连接远程服务器,命令格式如下:
ssh username@remote_host -p port
username:远程服务器的用户名(如root、centos);remote_host:远程服务器的IP地址或域名(如192.168.1.100、example.com);port:SSH服务端口(默认22,若修改过需指定)。示例(登录IP为192.168.1.100、用户名为centos的服务器):
ssh centos@192.168.1.100
首次连接需确认服务器指纹(输入yes),随后输入用户密码即可登录。
登录成功后,可使用以下命令远程管理CentOS进程:
ps命令结合-ef参数(全格式显示),或top命令(实时动态显示):ps -ef | grep "进程关键字" # 筛选特定进程(如"nginx")
top # 实时查看进程CPU、内存占用(按"q"退出)
ps -ef | grep java
kill命令发送TERM信号(请求进程优雅退出),若进程无响应则发送KILL信号(强制终止):kill PID # 终止指定PID的进程(如PID=1234)
kill -9 PID # 强制终止指定PID的进程
1234的进程:kill 1234
kill -9 1234 # 若进程未终止,强制杀死
&符号,使进程在后台运行(不占用当前终端):command & # 示例:nohup java -jar app.jar &
jobs命令查看当前终端下的后台进程(显示[jobid]和状态):jobs -l # 显示详细信息(包括PID)
fg命令(需指定jobid):fg %jobid # 示例:fg %1(将jobid为1的进程调至前台)
Ctrl+Z暂停前台进程,再用bg命令将其转为后台运行:Ctrl+Z # 暂停前台进程
bg # 将暂停的进程转为后台运行
使用nohup命令:让进程忽略HUP信号(终端关闭时发送),并将输出重定向到日志文件:
nohup command > output.log 2>&1 & # 示例:nohup java -jar app.jar > app.log 2>&1 &
> output.log:将标准输出重定向到output.log;2>&1:将标准错误输出合并到标准输出(均写入output.log)。使用setsid命令:在新的会话中运行进程,彻底脱离当前终端:
setsid command & # 示例:setsid nohup java -jar app.jar &
使用disown命令:为已运行的后台进程添加忽略HUP信号的功能(需先放入后台):
command & # 先放入后台
disown -h %jobid # 示例:disown -h %1(忽略jobid为1的进程的HUP信号)
若需远程执行单条命令而不登录服务器,可直接在本地终端使用ssh命令:
ssh username@remote_host 'command'
ssh centos@192.168.1.100 'top -bn1 | grep "Cpu(s)"'
ssh centos@192.168.1.100 'netstat -tunlp | grep ":80"'
/etc/ssh/sshd_config文件,设置PermitRootLogin no,避免直接以root用户远程登录,降低被攻击风险。ssh-keygen -t rsa),将公钥(id_rsa.pub)复制到远程服务器(ssh-copy-id username@remote_host),禁用密码认证(PasswordAuthentication no),提高登录安全性。/etc/ssh/sshd_config中的Port 22改为其他端口(如2222),减少被端口扫描攻击的概率。/etc/ssh/sshd_config中添加AllowUsers username@allowed_ip(如AllowUsers centos@192.168.1.10),仅允许指定IP地址的用户登录。通过以上步骤,可实现CentOS进程的安全远程管理。需根据实际需求调整配置,确保服务器稳定性和安全性。