首页| 论坛| 消息

标题:求一个“判断linux下进程是否启动的程序”
作者:尽情享受寂寞
日期:2009-07-15 23:33
内容:

如题,请高手指点


#1 [taomic 07-16 08:01]
描述非常不清.你说的是SHELL?
这与QT无关
#2 [尽情享受寂寞 07-18 10:06]
就是linux下开启了一些进程,要用qt编个程序来检验这些进程是否是一直开启的状态,如果没有开启,要找到对应的路径来启动它,好像是要建立线程来做,因为我是刚学qt,所以不太会,请楼上指点啊
#3 [taomic 07-20 10:37]
这个的实现纯粹是用Linux编程来做,与QT 无关
实现方法: 使用守护进程
//********************************************
//创建守护进程
//监视目标进程是否结束,是则无条件重启目标程序
//********************************************
#include
#include
#include
#include
#include
#include
#include
#define MAXFILE 0xffff
int main()
{
pid_t pc;
int i;
signal(SIGCHLD,SIG_IGN);//防止出现僵尸
pc = fork();//新建一个子进程
if(pc < 0)//处理
{
printf("error fork\n");
exit(1);
}
else if(pc > 0)
exit(0);
setsid();//创建一个新的会话期
chdir("/");//改变当前目录为根目录
umask(0);//重设文件权限掩码
for(i = 0;i < MAXFILE;i ++)
close(i); //关闭文件描述符
while(1) //开始守护进程
{
if(fork() == 0)//新建子进程
{
if(execl("/usr/bin/mybin","mybin",(char *)0) < 0)&nb ..
#4 [尽情享受寂寞 07-21 10:32]
谢谢楼上,但我们老大要我用qt来写,希望通过比较进程名来确定指定的进程在不在。我现在不知道ps命令的源代码是什么?不知道如何枚举linux下当前的进程
#5 [rivita 08-05 10:16]
ps > aaa.txt
然后 解析aaa.txt

<< 1 2 >> (1/2)

回复 发表
主题 版块