欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Ubuntu下qt编译的程序如何设为开机自启,并加以守护进程

时间:2023-07-23
1.运行脚本

qt编译的Release版本的可执行文件路径如下:

/home/zjq/documents/metroMix_useable/METRO/Release

可执行文件名为:

MetroApp

在该路径下新建一个文本文件start.sh,在start.sh的属性中权限设置为允许文件作为程序执行,文本内容如下(参考文章):

PRO_UI=MetroAppwhile true; doNUM_UI=`ps aux | grep ${PRO_UI} | grep -v grep |wc -l`cd /home/zjq/documents/metroMix_useable/METRO/Release //qt程序路径 if [ "${NUM_UI}" -lt "1" ];then #如果不存在就重新启动 sudo ./MetroApp -c 1 & elif [ "${NUM_UI}" -gt "1" ];then killall -9 $PRO_UI fi #每次循环沉睡5s sleep 5done

这样开启的程序就会有个守护进程,关闭程序后又会自动打开运行。

2.桌面快捷方式

然后,我们需要新建一个.desktop文件,可以让该程序能够双击运行,取名为MetroApp.desktop,内容如下:

[Desktop Entry]Version=1.0Type=ApplicationName=MetroAppExec=/home/zjq/documents/metroMix_useable/METRO/Release/start.shIcon=/home/zjq/documents/metroMix_useable/METRO/Release/metro.pngTerminal=true

其中Terminal为true时,除界面程序外还会运行一个终端程序,为false时则只有界面程序存在。

将MetroApp.desktop文件拷贝至桌面 **~/Desktop(/home/zjq/Desktop
,并给予权限: sudo chmod 777 MetroApp.desktop ,第一次双击运行时会出现下图选项:
点击信任并启动即可。如果提示应用程序无法启动,大概率就是start.sh没有设置成允许文件作为程序执行。

3.开机自启

若要将该程序设置为开机自启,则将MetroApp.desktop文件拷贝至 /etc/xdg/autostart 下,同样给予权限 sudo chmod 777 MetroApp.desktop 。

这样不出意外的话就能实现开机自启并加以守护进程了。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。