在服务器管理中,任务管理命令行工具是系统管理员不可或缺的一部分,这些工具允许管理员查看、管理和控制正在运行的进程和后台任务,以下是一些常见的服务器任务管理命令行工具及其用法:
`ps` 显示当前进程

ps
命令用于显示当前活动的进程,它可以与多种选项结合使用,以提供不同级别的进程信息。
ps aux
a
:显示所有用户的进程。
u
:以用户友好的格式显示。
x
:显示没有控制终端的进程。
`top` 实时显示进程
top
命令提供了一个动态更新的视图,显示系统中各个进程的资源使用情况。
top
在top
界面中,可以按q
退出,按h
显示帮助,按k
杀死进程。
`htop` 高级版 top
htop
是top
命令的一个更友好的版本,提供了彩色输出和更直观的界面。

htop
可以使用箭头键进行导航,F9
键发送信号给进程,F10
退出。
`kill` 终止进程
kill
命令用于向进程发送信号,默认信号为TERM
(终止信号)。
kill [PID]
[PID]
:要终止的进程 ID。
5.killall
终止所有匹配名称的进程
killall
命令用于终止所有名称匹配给定字符串的进程。
killall [PROCESS_NAME]
终止所有名为httpd
的进程:
killall httpd
6.nice
和renice
调整进程优先级

nice
命令用于启动进程时设置其优先级,而renice
用于改变正在运行的进程的优先级。
nice -n [PRIORITY] [COMMAND]
[PRIORITY]
:优先级值,范围从 -20(最高优先级)到 19(最低优先级)。
[COMMAND]
:要执行的命令。
renice [PRIORITY] -p [PID]
[PID]
:要更改优先级的进程 ID。
7.pgrep
和pkill
根据名称查找和终止进程
pgrep
用于查找与名称匹配的进程 ID,而pkill
用于终止这些进程。
pgrep [PROCESS_NAME]
查找所有名为nginx
的进程:
pgrep nginx
pkill [PROCESS_NAME]
终止所有名为nginx
的进程:
pkill nginx
8.systemctl
管理系统和服务管理器
systemctl
是 systemd 系统和服务管理器的主要命令行工具,用于控制 systemd 服务。
systemctl [OPTIONS]
常用选项包括:
start
:启动服务。
stop
:停止服务。
restart
:重启服务。
status
:查看服务状态。
enable
:设置服务开机自启。
disable
:取消服务开机自启。
启动名为apache2
的服务:
sudo systemctl start apache2
9.service
旧版服务管理命令
在一些较老的 Linux 发行版中,service
命令用于管理服务。
service [SERVICE] [COMMAND]
重启名为mysqld
的服务:
sudo service mysqld restart
10.crontab
定时任务管理
crontab
命令用于编辑和管理用户的定时任务。
crontab -e
这将打开当前用户的 crontab 文件,用户可以在其中添加、编辑或删除定时任务。
`at` 一次性计划任务
at
命令用于安排一次性任务在未来的某个时间点执行。
echo "[COMMAND]" | at [TIME]
安排在明天上午 10 点执行一个脚本:
echo "sh /path/to/script.sh" | at 10:00 AM tomorrow
12.nohup
忽略挂起信号执行命令
nohup
命令用于在登出或关闭终端后继续运行命令。
nohup [COMMAND] &
以后台方式运行一个长时间运行的任务:
nohup python long_running_task.py &
命令 | 描述 | 示例 | |
ps | 显示当前进程 | ps aux | |
top | 实时显示进程 | top | |
htop | 高级版 top | htop | |
kill | 终止进程 | kill 1234 | |
killall | 终止所有匹配名称的进程 | killall httpd | |
nice | 启动进程时设置优先级 | nice -n 10 my_command | |
renice | 改变正在运行的进程的优先级 | renice -n -5 -p 1234 | |
pgrep | 根据名称查找进程 ID | pgrep nginx | |
pkill | 根据名称终止进程 | pkill nginx | |
systemctl | 管理系统和服务 | systemctl restart apache2 | |
service | 旧版服务管理命令 | service mysqld restart | |
crontab | 定时任务管理 | crontab -e | |
at | 一次性计划任务 | echo "sh /path/to/script.sh" | at 10:00 AM tomorrow |
nohup | 忽略挂起信号执行命令 | nohup python long_running_task.py & |
FAQs
Q1: 如何更改正在运行的进程的优先级?
A1: 使用renice
命令可以更改正在运行的进程的优先级,语法如下:
renice [PRIORITY] -p [PID]
将 PID 为 1234 的进程的优先级设置为 -5:
renice -n -5 -p 1234
Q2: 如果我想查看特定用户的进程,该怎么办?
A2: 使用ps
命令结合-u
选项可以查看特定用户的进程,语法如下:
ps -u [USERNAME]
查看用户john
的所有进程:
ps -u john
各位小伙伴们,我刚刚为大家分享了有关“服务器里的任务管理命令行”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复