LinuxC获取进程退出值的实现代码
2023-06-13 09:15:00 时间
如以下代码所示:
复制代码代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
#include<errno.h>
intmain(intargc,char*argv[])
{
pid_tpid;
intstat;
intexit_code;
pid=fork();
if(pid==0)
{
sleep(3);
exit(5);
}
elseif(pid<0)
{
fprintf(stderr,"forkfailed:%s",strerror(errno));
return-1;
}
wait(&stat); //等待一个子进程结束
if(WIFEXITED(stat)) //如果子进程通过return,exit,_exit正常结束,WIFEXITED()返回true
{
exit_code=WEXITSTATUS(stat);
printf("child"sexit_code:%d\n",exit_code);
}
return0;
}
参考: "man2wait"
相关文章
- pycharm运行后出现process finished_pycharm进程已结束,退出代码0
- 线程VS进程「建议收藏」
- 双管道(CreatePipe)与本地cmd.exe进程通信(附源代码及编译好的程序,免费下载)
- 【Linux修炼】8.进程概念
- 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 远程 目标进程 中的 /system/lib/libc.so 动态库中的 mmap 函数地址 )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )
- 【Linux 内核 内存管理】内存管理系统调用 ⑤ ( 代码示例 | 多进程共享 mmap 内存映射示例 )
- 【Linux】进程状态
- PHP多进程学习(三)__代码案例来了解父进程与子进程的执行顺序详解编程语言
- C# winform只有一个进程详解编程语言
- Linux进程内存监控:管控系统性能的关键技术。(linux进程内存监控)
- 优化优化Linux进程调度码:开启新的极限性能(linux进程调度代码)
- 占用过高分析并解决Oracle 进程CPU占用过高问题(oracle进程cpu)
- Linux下优雅地结束进程(linux结束进程)
- Linux进程间通信:穿越跨界的数据交流(linux进程之间通信)
- C#控制IE进程关闭和缓存清理的实现代码