社区
进程/线程/DLL
帖子详情
进程退出
lyislm
2002-03-27 09:16:36
我用一进程去createprocess(一个别人的exe文件);成功后正常运行,并返回一些信息
这个exe运行着,最后它退出了。问题是:
但我自己的进程却不知道这个exe是什么什么时候退出的。
有没有什么办法搞定他!小弟多谢先。
...全文
25
6
打赏
收藏
进程退出
我用一进程去createprocess(一个别人的exe文件);成功后正常运行,并返回一些信息 这个exe运行着,最后它退出了。问题是: 但我自己的进程却不知道这个exe是什么什么时候退出的。 有没有什么办法搞定他!小弟多谢先。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyislm
2002-03-27
打赏
举报
回复
这里面牛人一大堆啊
prometheusphinx
2002-03-27
打赏
举报
回复
当你创建进程后,保留它的句柄,以后你就可以用OpenProcess来判断进程是否已经结束啦。
cz
2002-03-27
打赏
举报
回复
DWORD lpExitCode;
if( GetExitCodeProcess(stProcessInfo.hProcess, &lpExitCode) )
{
while( lpExitCode == STILL_ACTIVE )
{
GetExitCodeProcess(stProcessInfo.hProcess, &lpExitCode);
MSG msg;
while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
可以检测创建的进程是否退出。
dockbar
2002-03-27
打赏
举报
回复
int ExecuteProcess(unsigned short *exePath, int modal)
{
PROCESS_INFORMATION proInf;
STARTUPINFO startUpInf;
// BOOL bRtn;
LPTSTR lpMsgBuf;
// PROCESS_INFORMATION
memset(&proInf, 0, sizeof (PROCESS_INFORMATION));
memset(&startUpInf, 0, sizeof (STARTUPINFO));
startUpInf.cb = sizeof (STARTUPINFO);
startUpInf.lpReserved = NULL;
startUpInf.lpDesktop = NULL;
startUpInf.lpTitle = NULL;
startUpInf.dwFlags = STARTF_USESTDHANDLES;
startUpInf.lpReserved2 = NULL;
startUpInf.cbReserved2 = 0;
startUpInf.hStdInput = NULL;
startUpInf.hStdOutput = NULL;
startUpInf.hStdError = NULL;
if (modal)
startUpInf.wShowWindow = SW_SHOW;
else
startUpInf.wShowWindow = SW_HIDE;
CreateProcess (NULL,
exePath,
NULL, NULL, FALSE, DETACHED_PROCESS, 0, NULL,
&startUpInf,
&proInf);
FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(),// Default Language
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
LocalFree( lpMsgBuf );
if (modal) {
WaitForSingleObject (proInf.hProcess, INFINITE);
}
return 0;
}
用这个。。。 呵呵
killhs
2002-03-27
打赏
举报
回复
你可创建一个线程等待!
WaitFor...这个函数我一下忘了!
我告诉你调用格式!
WaitFor...(ProcessHandle,等待时间(可设置为一直等))
这函数一直等待到程序结束。
lyislm
2002-03-27
打赏
举报
回复
dockbar,的formatmessage()用来干什么用的?
cz进入一个循环用消息处理,还是dockbar用waitforsingleobject()?
打通Linux脉络系列:
进程
、线程和调度
第一部分:深入彻底搞清楚
进程
生命周期,
进程
生命周期创建、
退出
、停止、以及僵尸是个什么意思; 第二部分:深入分析
进程
创建的写时拷贝技术、以及Linux的线程究竟是怎么回事(为什么称为轻量级
进程
),此部分也会...
linux
进程
退出
码,Linux
进程
退出
码
Linux
进程
退出
码2018-11-04 SundayLinux 下
进程
的
退出
包括了正常
退出
和异常
退出
,正常
退出
包括了 A) main() 函数中通过 return 返回;B) 调用 exit() 或者 _exit()
退出
。异常
退出
包括了 A) abort() 函数;B) 收到...
【Linux】
进程
控制(
进程
退出
和
进程
等待)
文章目录一、
进程
退出
1.
进程
退出
场景2. 查看每个
退出
码所传递的信息3. 终止
进程
二、
进程
等待1. wait2. waitpid3. status参数4. options参数三、
进程
的程序替换1. execl
进程
替换 一、
进程
退出
main函数return0是为...
linux父
进程
退出
时如何确保子
进程
退出
?
子
进程
退出
的时候,父
进程
能够收到子
进程
退出
的信号,便于管理,但是有时候又需要在父
进程
退出
的时候,子
进程
也
退出
,该怎么办呢? 父
进程
退出
时,子
进程
会如何? 一般情况下,父
进程
退出
后,是不会通知子
进程
的,...
父
进程
退出
后如何通知子
进程
退出
当子
进程
退出
时,要给父
进程
发送SIG_CHLD信号,是为了父
进程
回收子
进程
的资源,方便管理的目的。 但是当父
进程
退出
后,一般是不会通知子
进程
的,父
进程
会将自己的所有子
进程
过继给init
进程
。 但是,在实际的项目中...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章