Linux如何在服务中启动一个QT程序

小弟才接触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;

}

求源代码。

添加启动程序在etc/rc5.d等init进程的脚本中实际是在init.d中,直接作为一个进程启动。可参考linux的进程启动,以S99等开始。
qt程序记得加-qws哦亲。追问

我有个服务已经在etc/rc5.d中起来了,然后想在服务中启动一个QT程序。

追答

在程序中启动一个程序,system,exec启动进程

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-21
用system函数调用shell脚本追问

用system函数执行命令和用system函数执行脚本 不是一样吗?

追答

基本一样,一般命令很多很复杂就用脚本

相似回答