10、Linux 进程管理

本文详细介绍了系统进程的相关指令如ps、grep和进程管理工具,包括服务启动、状态检查、自启动设置,以及动态监控工具top和网络防火墙配置。
摘要由CSDN通过智能技术生成

一、系统进程相关指令

  • ps 选项显示系统进程信息 [ 例:ps -aux ] {选项说明:-a:显示当前终端的所有进程,-u:以用户的格式显示进程信息,-x:显示后台进程运行的参数,一般 选项可以组合使用,也可以单独使用}
  • ps后显示的数据说明:
    1、USER:用户名称(表示是这个用户启动的进程)
    2、PID:进程号
    3、%CPU:进程占用CPU的百分比
    4、%MEM:进程占用物理内存的百分比
    5、VSZ:进程占用虚拟内存的大小(单位:KB)
    6、RSS:进程占用物理内存的大小(单位:KB)
    7、TT:终端名称的缩写
    8、STAT:进程状态(S-:睡眠;s-:表示该进程是会话的先导进程,N-:表示进程拥有比普通优先级更低的优先级;R-:正在运行的进程;D-:短期等待的进程;Z-:僵死进程;T-:被跟踪或被停止等待的进程)
    9、STARTED:启动进程的开始时间
    10、TIME:CPU时间,即进程使用CPU的总时间
    11、COMMAND:启动进程时所用的命令和参数(需要注意的是,如果命令过长会被截断显示)
  • ps 选项 | grep 名称过滤查看某一个服务的进程信息 [ 例:ps -aux | grep sshd:查看“sshd”服务的进程信息 ]
  • ps -ef以全格式显示当前所有的进程 {选项说明:-e:显示所有进程信息;-f:全格式显示}
  • ps -ef 全格式显示进程信息数据说明:
    1、UID:用户ID
    2、PID:进程ID
    3、PPID:父进程ID
    4、C:CPU用于计算执行优先级的因子。
    5、STIME:启动进程的开始时间
    6、TTY:完整的终端名称
    7、TIME:CPU时间
    8、CMD:启动进程所用的命令参数
  • kill 选项 进程号终止进程 [ 例:kill -9 3892:终止进程号为“3892”的进程] {-9:表示强制终止进程}
  • killall 进程名称终止进程 [ 例:killall sshd:终止sshd进程 ]
  • pstree 选项查看进程树 [例:pstree] {选项说明:-p:显示进程的PID;-u:显示进程的所属用户。当然不加选项也没问题,只不过不会显示相应的信息 }

二、服务管理相关指令

  • 基础介绍:服务的本质就是一个进程,服务一般运行在后台,它会监听某个端口,等待其它程序的请求,因此又称服务为守护进程。
  • service 服务名 选项对服务进行操作 [ 例:service network start:开启“network”服务 ] {选项说明:start:开启服务;stop:停止服务;restart:重启服务;reload:重新加载服务;status:查看服务状态}
  • /etc/init.d/service管理的服务在此目录下 [ 例:ls -lh /etc/init.d/:查看“service”管理的服务]
  • 服务的运行级别介绍:
    1、0:系统停机状态,一般系统默认运行级别不能设置为0,否则系统无法正常启动
    2、1:单用户工作状态,root权限,用于系统维护,不能远程登录
    3、2:多用户状态,不支持网络
    4、3:完全的多用户状态,支持网络
    5、4:系统为使用,保留
    6、5:X11控制台,登录后会进入图形GUI模式
    7、6:系统正常关闭重启,默认运行级别不能设置为6,否则系统无法正常启动
  • /etc/inittab/运行级别说明文件 {打开此文件可以查看运行级别说明信息}
  • chkconfig --list查看服务
  • chkconfig --list | grep 服务名查看某一个服务的详细信息 [ 例:chkconfig --list | grep network:只查看“network”的详细信息 ]
  • chkconfig 服务名 --list查看某一个服务的详细信息 [ 例:chkconfig network --list:只查看“network”的详细信息 ]
  • chkconfig --level 运行级别 服务名 on/off设置某个服务在某个运行级别是否自启动 [ 例:chkconfig --level 3 network on:设置“network”服务在“3”的运行级别下自启动 ] {我们最好能记得设置完之后可以重启一下系统,以使这条命令生效 }
  • /usr/lib/systemd/system/systemctl管理的服务在此目录下查看 [ 例:ls -l /usr/lib/systemd/system/:查看“systemctl”管理的服务 ]
  • systemctl get-default查看当前运行级别
  • systemctl set-default 运行级别设置运行级别 [ 例:systemctl set-default multi-user.target:设置运行级别为多用户(就是3级别)]
  • systemctl 选项 服务名管理服务 [ 例:systemctl start sshd:启动“sshd”服务 ] {选项说明:start:启动服务;stop:停止服务;restart:重启服务;status:查看服务状态 }
  • systemctl list-unit-files查看服务是否自启动
  • systemctl list-unit-files | grep 服务名查看某一个服务是否自启动 [ 例:systemctl list-unit-files | grep sshd:查看“sshd”是否自启动 ]
  • systemctl enable 服务名开启服务开机自启动 [ 例:systemctl enable sshd:设置“sshd”服务开机自启动 ]
  • systemctl disable 服务名关闭服务开机自启动 [ 例:systemctl disable sshd:关闭“sshd”服务开机自启动 ]
  • systemctl is-enabled 服务名查询某个服务自启动状态 [例:systemd is-enabled sshd:查看“sshd”服务自启动状态 ]
  • netstat -anp | more查看网络端口状态 {可以使用此条指令查看端口协议,如果系统显示找不到这条指令,需要安装一下:sudo yum -y install net-tools:安装“net-tools”之后就可以使用“netstat”了 }
  • firewall-cmd --permanent --add-port=端口号/协议打开端口 [ 例:firewall-cmd --permanent --add-port=8080/tcp:打开“8080”端口 ]
  • firewall-cmd --permanent --remove-port=端口号/协议关闭端口 [ 例:firewall-cmd --permanent --remove-port=8080/tcp:关闭“8080”端口 ]
  • firewall-cmd --reload重新加载使得上面两条命令生效
  • firewall-cmd --query-port=端口号/协议查询端口号是否开放

三、动态监控进程

  • top 选项动态监控进程 [ 例:top -d 3:每3秒更新一次信息 ] {选项说明:-d 秒:每隔几秒更新一次进程信息;-i:不显示闲置或僵死进程;-p 进程ID:通过进程ID监控指定进程信息 }
  • 如果我们使用top查看进程信息,我们又该如何对此界面显示的信息进行操作呢?
    1、P:在使用top后的界面输入“P”,则会按照CPU的使用率进行排序
    2、M:按照内存是使用率排序
    3、N:按照"PID"排序
    4、q:退出当前界面
  • 如果需要查看某个用户的进程信息呢:输入top后再输入u回车,然后输入需要查看的用户名回车即可
  • 如果要终止摸个进程呢:输入top后再输入k回车,然后输入需要终止的进程号回车即可
  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值