栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux ps 和kill 指 令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux ps 和kill 指 令

目录
  • 前言
  • 一 ps 指令
  • 1 ps a
  • 2 ps u
  • 3 ps x
  • 4 pa aux
  • 5 ps ajx
  • 二 kill 指令
  • 1 循环 父进程 信号 和部分指令讲解
  • 2 | ,R+,S+
  • 3 生成一对 存在的文件和 可执行文件
  • 4 开始终止父进程信号

前言
前面讲了 1 父进程是从main函数开始执行的 并且父进程调用fork之后 克隆出子进程
 2 fork 执行之后 只有子进程工作
 3  fork 执行之后 子进程会抢占 父进程的资源 出现父进程执行的假象 
 实则是子进程在运行 相当于子进程 多执行了一个if判断 
 4 main 也是进程 shell 命令行 也是进程  所以 会和父子进程 抢占资源 导致 
 输出顺序有时会不正常。
 5 继续学 新知识 
一 ps 指令

1 ps a
显示所有程序 和其他用户程序

2 ps u
user :用户
显示以用户为主的 程序

3 ps x

一 显示所有程序 就是不以终端机区分 
1 因为终端机也是进程 
2 不以终端机区分 就是和他有关无关都可以在显示一起。
比如 就像 不以我区分你  意思是你我都平等 都可以在一起 敲代码 讨论 都不嫌弃。
4 pa aux
123点的总和 

5 ps ajx

显示 ppid pid (父子进程的)
COMMAND:命令 
二 kill 指令
kill  : 终止 

怎么看 SIGTENRM 的信息呢 
kill -l
-l :寻找 

实际的排序并没64 个 大概 只有60多 
1 循环 父进程 信号 和部分指令讲解
先改改代码 
#include
#include
#include
#include


int main()
{
     pid_t a;
   
     a=fork();
   
     if(a>0)
     {
         while(2)//变为循环 
         {
             printf("father pid is %dn",getpid());
         }
     }
     else if(a==0)
     {
         printf("child pid is %d ppid is %d n",getpid(),getppid());
     }

     return 0;
}

 让 父进程不断循环 待会用 kill 指令 验证他的作用 
1 先 生 成 可执行文件 ./a.out

2 查看 对应的 pid 序号 

ps aux  前面 讲了  gerp :查找 

主要讲 | R+ S+ 的意思

2 | ,R+,S+
| : 是管道的意思 (内核一段缓存)

用户读取数据  管道就是缓存 数据 不断如此,单向读写。

R+ :可执行 状态 (对应二进制文件)

S+ :可中断 状态(c文件)

因为中断函数 和普通函数 区别只不过 多了一个触发条件而已  
本质都是一样的。

不明白 看 《上电之后main函数如何被cpu运行的 》
再不懂 往前看完 之前 关于这篇的分步 讲解。

3 生成一对 存在的文件和 可执行文件

注意 会至少存在两个进程 1 :c文件 2 二进制文件 并且是存在的 

如果是这样呢

先看 aaaaaa 存不存在 

因为不存在  所以用户没读到 
但是 管道 写了 所以显示   
4 开始终止父进程信号

kill  -9 发送 终止 信号 
 -9 发送信号 (强制性)

kill   -9 18428  终止父进程循环 信号
1 18428:是父进程的pid
2 注意 终止的是对应的 c文件 而不是 二进制文件 
 因为杀死的c文件 相当于源头没有了 所以就xxx

验证成功
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号