
Linux如何在服务中启动一个QT程序
小弟才接触linux不久,很多东西不熟悉,请多帮助通过chkconfig--add[servername]安装了一个自启动的服务,现在要在服务里面监控一个桌面进程,如果进...
小弟才接触linux 不久,很多东西不熟悉,请多帮助
通过 chkconfig --add [servername] 安装了一个自启动的服务,现在要在服务里面监控一个桌面进程,如果进程不存在则启动它。
查了一些资料,有说要用
su - root -l -c ""
也有说要加
export DISPLAY=:0.0
但小弟确实不知道怎么启动一个QT进程。求指导
void * CreateProcessAsUser(void * lpParam) {
if (!lpParam || strlen((char *) lpParam) <= 0)
return 0;
char cmdline[512] = { 0 };
strcpy(cmdline, (char*) lpParam);
free(lpParam);
char* name = strrchr((char*) cmdline, '/');
name += 1;
if(getlogin())
{
char szTemp[256] = {0};
sprintf(szTemp,"su - %s -l -c %s",getlogin(),cmdline);
system(cmdline);
}
return 0;
}
求源代码。 展开
通过 chkconfig --add [servername] 安装了一个自启动的服务,现在要在服务里面监控一个桌面进程,如果进程不存在则启动它。
查了一些资料,有说要用
su - root -l -c ""
也有说要加
export DISPLAY=:0.0
但小弟确实不知道怎么启动一个QT进程。求指导
void * CreateProcessAsUser(void * lpParam) {
if (!lpParam || strlen((char *) lpParam) <= 0)
return 0;
char cmdline[512] = { 0 };
strcpy(cmdline, (char*) lpParam);
free(lpParam);
char* name = strrchr((char*) cmdline, '/');
name += 1;
if(getlogin())
{
char szTemp[256] = {0};
sprintf(szTemp,"su - %s -l -c %s",getlogin(),cmdline);
system(cmdline);
}
return 0;
}
求源代码。 展开
2个回答
展开全部
添加启动程序在etc/rc5.d等init进程的脚本中实际是在init.d中,直接作为一个进程启动。可参考linux的进程启动,以S99等开始。
qt程序记得加-qws哦亲。
qt程序记得加-qws哦亲。
追问
我有个服务已经在etc/rc5.d中起来了,然后想在服务中启动一个QT程序。
追答
在程序中启动一个程序,system,exec启动进程
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |