16.3.2 【Linux】程序的管理

程序之间是可以互相控制的。举例来说,你可以关闭、重新启动服务器软件,服务器软件本身是个程序, 你既然可以让她关闭或启动,当然就是可以控制该程序。

使用kill-l或者是man 7 signal可以查询到有多少个signal。主要的讯号代号与名称对应及内容是:

kill -signal PID

kill 可以帮我们将这个 signal 传送给某个工作 (%jobnumber) 或者是某个 PID (直接输入数字)。 要再次强调的是: kill 后面直接加数字与加上 %number 的情况是不同的!因为工作控制中有 1 号工作,但是 PID 1 号则是专指" systemd "这支程序。

例题:以 ps 找出 rsyslogd 这个程序的 PID 后,再使用 kill 传送讯息,使得 rsyslogd 可以重新读取配置文件。答:由于需要重新读取配置文件,因此 signal 是 1 号。至于找出 rsyslogd的 PID 可以是这样做:

sql 复制代码
ps aux | grep 'rsyslogd' | grep -v 'grep'| awk '{print $2}'

接下来则是实际使用 kill -1 PID,因此,整串指令会是这样:

sql 复制代码
kill -SIGHUP $(ps aux | grep 'rsyslogd' | grep -v 'grep'| awk '{print $2}')

如果要确认有没有重新启动 syslog ,可以参考登录文件的内容,使用如下指令查阅:

sql 复制代码
tail -5 /var/log/messages

如果你有看到类似"Aug 5 01:25:02 study rsyslogd: [origin software="rsyslogd"swVersion="7.4.7" x-pid="742" x-info="The rocket-fast Syslog Server - rsyslog"] rsyslogd was HUPed"之类的字样,就是表示 rsyslogd 在 8/5 有重新启动 (restart) 过了。

如果未来你想要将某个莫名其妙的登陆者的连线删除的话,就可以通过使用 pstree -p 找到相关程序, 然后再以 kill -9 将该程序删除,该条连线就会被踢掉了。

killall -signal 指令名称

由于 kill 后面必须要加上 PID (或者是 job number),所以,通常 kill 都会配合 ps, pstree 等指令,因为我们必须要找到相对应的那个程序的 ID。举例说,可以用killall直接将rsyslogd这个程序给予一个SIGHUP 的讯号。

总之,要删除某个程序,我们可以使用 PID 或者是启动该程序的指令名称,用killall可以删除某个服务。 因为他可以将系统当中所有以某个指令名称启动的程序全部删除。

16.3.3 关于程序的执行顺序

Linux 是多用户多任务的环境,系统同时间有非常多的程序在运行中,只是绝大部分的程序都在休眠 (sleeping) 状态而已。

CPU 调度指的是每支程序被 CPU 运行的演算规则, 而例行性工作调度则是将某支程序安排在某个时间再交由系统执行。 CPU调度与操作系统较具有相关性!

Priority 与 Nice 值

CPU 一秒钟可以运行多达数 G 的微指令次数,通过核心的 CPU 调度可以让各程序被 CPU 所切换运行, 因此每个程序在一秒钟内或多或少都会被 CPU 执行部分的指令码。如果程序都是集中在一个伫列中等待 CPU 的运行, 而不具有优先顺序之分,也就是像我们去游乐场玩热门游戏需要排队一样,每个人都是照顺序来。

图16.3.1、并没有优先顺序的程序伫列示意图

相关推荐
心灵彼岸-诗和远方37 分钟前
DevOps业务价值流:架构设计最佳实践
运维·产品经理·devops
一只哒布刘42 分钟前
NFS服务器
运维·服务器
苹果醋31 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
二十雨辰2 小时前
[linux]docker基础
linux·运维·docker
Jason-河山2 小时前
【自动化更新,让商品信息跳舞】——利用API返回值的幽默编程之旅
运维·自动化
饮浊酒2 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu2 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
哲讯智能科技2 小时前
SAP Business One市场价格解析
运维·sap·erp
矛取矛求3 小时前
Linux系统性能调优技巧
linux
山东布谷科技官方3 小时前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发