linux进程和会话
来源:互联网 发布:win10 pe 知乎 编辑:程序博客网 时间:2024/04/29 21:20
1.linux进程
查看进程:ps -eo pid,ppid,cmd
第一个进程:init
其他进程:fork()
进程树:pstree
注意:创建进程时根据fork()函数返回值执行不同的分支,如果为0,则为子进程。这时可以执行自己的程序,在子进程的内存空间中耍起。若为正数则继续执行父进程程序。子程序执行完毕,返回参数通知父进程,之后父进程调用wait()函数。子进程退出的返回消息是写入内核的,父进程就是通过调用wait()函数从内核中取出信息并释放空间的。
如果父进程先于子进程退出,那么子进程会以init()进程为父进程。
如果父进程迟迟不对子进程进行wait()调用,那么会造成子进程变为僵尸进程,占用内存。
最后关于进程和线程,unix系统好像有区别,而linux的线程可以看做特殊的进程。
2.信号
我很喜欢vamei大神将系统比为一幢写字楼。很形象。确实内核是直接操作计算机硬件的,就像管理员。而进程是直接调用内核提供的接口或是调用库函数来实现功能。(库函数也是将内核提供的接口组装起来实现某一功能,如malloc)。而进程的比喻是管理员为进程分配的房间,其实也就是内存空间了。进程在自己的内存空间运转。
那么信号就是由内核发出的(也可以是别的进程发的)某一规定的信号,也就是一整数值。内核发送给进程,进程在调用内核函数退出内核时读消息,读到信号。这时可以阻塞,可以立即处理等等。通常分为默认操作、无视以及自定义操作。
补充:kill -SIGCONT 4958发送SIGCONT信号给4958进程。
3.进程组
我们根据pstree可以查看进程树,其实进程是分组的。可以通过如下命令查看。
ps -o pid,pgid,ppid,comm|cat其中pgid即为进程组号,这个号也是领导组的pid。领导进程可以先终止,子进程可以继续使用组号。使用组号方便信号发送给一个组的所有进程。
4.会话
由进程产生会话,产生会话的进程称作会话的领导进程。会话的一个进程组叫作一个工作。有一个进程组称为前台进程,其他进程组称为后台进程。每个会话可以和一个终端关联,终端的输入输出可以传到前台进程,终端产生的信号如ctrl+c、ctrl+z、ctrl+\也会传到前台进程。
一个命令可以通过末尾加&的方式让它在后台执行,如:
ping localhost >log &
这时前台显示[1] 18998其中第一项是工作号,第二项是pgid。我们可以通过kill向其发送信号。
kill -SIGTERM %1
还可以使用fg %1将后台进程变为前台进程。
会话主要是和终端建立练习的,通过会话产生前台进程和后台进程,会话机制也实现了进程的管理。
- linux进程和会话
- linux进程组、会话和守护进程
- 【Linux】进程组、会话和精灵进程
- linux进程间通信机制3:会话和进程组
- LINUX 进程组 会话
- 管理进程和会话
- 关于进程和会话
- 进程组和会话
- 进程组和会话
- [李景山php] linux 的进程组和会话
- linux 进程组与会话
- linux 进程组 会话期
- 进程组和会话组
- 作业、会话和守护进程
- Linux 的进程组、会话、守护进程
- Linux--进程组、会话、守护进程
- Linux进程、进程组与会话[转]
- Linux 的进程组、会话、守护进程
- 状压DP——Corn Fields ( POJ 3254 )
- 今年8月份到年底的职业规划
- hdoj 2894 DeBruijin (dfs&&二进制)
- xib的简单使用
- 客户端检测
- linux进程和会话
- 二维数组与指针
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
- IOS 照相、视频等功能
- 159.View the Exhibit and examine the user information.
- sql server 2005 中一些 关键字的 中英文解释;
- Glide源码分析2 -- request创建与发送过程
- noVNC 安装、配置与使用
- PYTHON-arcgis的开发:批量操作字段