进程waitpid()的用法】的更多相关文章

代码分析: /* waitpid.c */ #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main() { pid_t pc, pr; pc = fork(); ) { printf("Error fork\n"); exit(); } ) /* 子进程 */…
kill -9 $(ps -ef | grep process_name | grep -v grep | awk  '{print $2}')   稍微解释一下:  awk  '{print $2}'   打印出第二行内容,如果想显示第一行内容就用$1就可以了.  grep -v grep 去掉包含grep字样的所有行记录 ps -ef | grep process_name 显示出所有包含process_name字样的行记录,process_name就是你想要找的进程名字或者其他脚本名字  …
指令:tar.zip.gzip.unzip.rsync.scp.ps.kill.nohup 压缩 tar 归档命令,不具备压缩功能 tar -zcvf test.tar.gz  test/     #将test文件夹做为归档文件 tar -cvf test.tar  test   #打包一个目录tar -cf output.tar file1 file2 file3 folder1... #参数-c表示创建文件,-f表示指定文件.tar -cf output.tar *.txt   #归档所有.…
1.wait和waitpid出现的原因 SIGCHLD q  当子进程退出的时候,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止) q  子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退出状态. 父进程查询子进程的退出状态可以用wait/waitpid函数 2.wait和waitpid函数用法 Wait q  头文件<sys/types.h>和<sys/wait.h…
一.僵尸进程 当子进程退出的时候,内核会向父进程发送SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止) 子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程,它只保留最小的一些内核数据结构,以便父进程查询子进程的退出状态. A child that terminates, but has not been waited for becomes a "zombie".  The kernel maintains a  minimal set of…
僵尸与孤儿进程 僵尸进程:父进程的子进程结束的时候父进程没有wait()情况下子进程会变成僵尸进程 孤儿进程(无害) 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程.孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作. 情况1 无害 父进等着子进程都死,回收僵尸进程. 情况2 无害 父进程死了,子进程活着,都要被init进程接管并且回收. 情况3 有害 父进程一直不死,造成了大量僵尸进程.占用了大量的pid号 pid号是有限的. 解…
1.粘包现象 总结 : 导致黏包现象的两种情况 hello,worl d (1) 在发送端,发送数据太快,频繁发送 (2) 在接收端,接收数据太慢,延迟截取 # ### 服务端 import socket sk = socket.socket() sk.bind( ("127.0.0.1",9000) ) sk.listen() # 三次握手 conn,addr = sk.accept() # 收发数据逻辑 conn.send("hello,".encode(&qu…
1.如下代码所示 #include <unistd.h> #include <sys/types.h> #include <unistd.h> int main(int argc,char *argv[]) { pid_t child = fork(); ) { //error printf("\nfork child error."); exit(); } ){ //exit(0); ) printf("fork error\n"…
补充: 1.  C程序的执行过程: C编译器调用链接器,链接器设置可执行程序文件的启动起始地址(启动例程),启动例程获得内核传递来的 命令行参数和环境变量值,为调用main函数做准备.[实际上该启动例程常用汇编语言编写],如果将启动例程换做C语言就是:exit(main(argc,argv)); main(int argc,char *argv[],char *engv[]);argv为指向参数的各个指针所构成的数组. 2.exit做一些清理处理(标准IO库的清理关闭操作为所有打开的流调用fcl…
本文基本内容 多道技术 进程 线程 协程 并发 多线程 多进程 线程池 进程池 GIL锁 互斥锁 网络IO 同步 异步等 实现高并发的几种方式 协程:单线程实现并发 一 多道技术 产生背景 所有程序串行 导致资源浪费 多道技术的目的就是让多个程序并发执行 同时处理多个任务 提高计算机效率 1.1 空间复用 时间复用 空间复用 指的是 同一时间 内存中加载多个不同程序数据, 每个进程间内存区域相互隔离,物理层面的隔离 时间复用 切换+保存 切换条件 1 一个进程执行过程中遇到了IO操作 切换到其他…