嵌入式Linux重启QT应用程序的简单办法(基于QT4.8 qws)

应用软件一般都有这样的业务需求:

当有新版本的APP,则程序就需要执行更新,更新完毕后(所谓的更新大多就是以覆盖的方式),不需要关机,而是应用程序自己重新启动即可。

查了网上一些资料,描写得非常复杂,还不如创建一个脚本,批处理完成我的工作这样简单、快捷和粗暴。

在程序中,可以通过QT的线程库函数来重启,也可以简单的调用外部脚本,完成重启的工作。

qApp->closeAllWindows();

system("/opt/app/restart_app.sh");

这里看到,restart_app.sh就是一个外部脚本。

外部脚本包含如下内容:

#!/bin/sh

killall -9 my_app

echo "restart my_app!"

#close backlight

echo 0 > /sys/class/backlight/backlight/brightness

/opt/app/my_app -qws -nomouse -font wqy-microhei &

当执行该脚本时,首先会调用killall -9 my_app关闭当前进行中和我的app名称一样的进程,然后关闭背光,让LCD熄灭,最后,重新启动app,并将app放在后台运行。

这样就简单的完成了app的重启动作。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

时间: 2018-12-14

如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3.mysqladmin shutdown 三.重启 1.使用

启动操作 nginx -c /usr/local/nginx/conf/nginx.conf -c参数指定了要加载的nginx配置文件路径 停止操作 停止操作是通过向nginx进程发送信号来进行的 步骤1:查询nginx主进程号 ps -ef | grep nginx 在进程列表里 面找master进程,它的编号就是主进程号了. 步骤2:发送信号 从容停止Nginx: kill -QUIT 主进程号 例如:kill -QUIT 16391 快速停止Nginx: kill -TERM 主进程号 强

Linux关闭和重启系统一般使用相同的命令可以实现. 在Linux系统下常用在关机/重启命令有shutdown.halt.reboot和init,但每个命令的内部工作过程是不同的. 1.shutdown命令 Shutdown命令可以安全地关闭系统,有些用户会使用直接断电源的方式来关闭计算机,这是十分危险的. Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏硬件设备. 如果在系统关机前使用shutdown命令

本篇介绍 crontab 设置定时任务,并且把 crontab 加入到开机自启动中. 1.配置一个每天自动重启的功能: 如果支持crontab 可直接 crontab -l 查看目前已有的定时任务 如果当前的linux不支持crontab 则需要进行配置: #安装Crontab yum install vixie-cron crontabs #设置开机启动Crontab chkconfig crond on #启动Crontab service crond start 先列一下现有的Cronta

我是一位新的 Vim 编辑器用户.我通常使用 :vs ~/.vimrc 来加载 ~/.vimrc 配置.而当我编辑 .vimrc 时,我需要不重启 Vim 会话而重新加载它.在 Linux 或者类 Unix 系统中,如何在编辑 .vimrc 后,重新加载它而不用重启 Vim 呢? Vim 是自由开源并且向上兼容 Vi 的编辑器.它可以用来编辑各种文本.它在编辑用 C/Perl/Python 编写的程序时特别有用.可以用它来编辑 Linux/Unix 配置文件. ~/.vimrc 是你个人的 Vi

如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3. mysqladmin shutdown 三.重启 1.

重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 关机命令: 1.halt   立刻关机 2.poweroff  立刻关机 3.shutdown -h now 立刻关机(root用户使用) 4.shutdown -h 10 10分钟后自动关机 ps:下面给大家分享linux五个重启命令,具体

一.Linux 的五个重启命令 1.shutdown 2.poweroff 3.init 4.reboot 5.halt 二.五个重启命令的具体说明 shutdown reboot 在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令. 1.shutdown shutdown命令安全地将系统关机. 有些用户会使用直接断掉电源的方式来关闭li

由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启. # 1.查找tomcat的进程ID ps -ef | grep tomcat # 2.根据路径去查找进程ID,然后逐个杀掉(毕竟一台服务器上面是会有多个不同业务的tomcat在运行.) kill -9 [ID] 刚接触这些命令的时候,会经常的手动去敲命令然后练习加深,久而久之,感觉是在浪费时间(有时候会频繁修改数据库内容). 所以就想着,能不能

一.在Linux下重启Oracle数据库及监听器: 方法1: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 cd $ORACLE_HOME #进入到oracle的安装目录 dbstart #重启服务器 lsnrctl start #重启监听器 ----------------------------------- 方法2: Sql代码 cd $OR

linux下的C\C++多进程多线程编程实例详解 1.多进程编程 #include #include #include int main() { pid_t child_pid; /* 创建一个子进程 */ child_pid = fork(); if(child_pid == 0) { printf("child pid\n"); exit(0); } else { print

试验环境如下图所示: 服务器ip:192.168.0.1 试验要求:要求linux dhcp 服务器实现给linux客户机分配ip地址. 服务器软件包:dhcp-3.0.1-12_EL.I386 (当然其它版本的也可以)软件包默认在RHEL4的第四种安装光盘中. 主配置文件:dhcp.conf 默认情况下该文件没有在dhcp软件包中,需要手动建立. 服务器的配置: 1 挂载和安装dhcp软件包,如下图所示: 2编辑配置文件(由于配置文件安装软件包后并不会自动建立需要我们手动建立)只需打如下些命令

Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME: export ORACLE_SID=test export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx 4.启动步骤:注意$代表shell命令提示符,这里的ora

1>单线程或者单进程 相当于短链接,当accept之后,就开始数据的接收和数据的发送,不接受新的连接,即一个server,一个client 不存在并发. 2>循环服务器和并发服务器 1.循环服务器:一个server只能一次只能接收一个client,当当前client结束访问之后才能进行下一个client的连接. 2.并发服务器:一个server同一时间可以响应很多客户端的访问. 3>select+多线程模式 并发服务器的三种实现方式 1.多进程并发服务器 是指TCP连接后,每一个客户机的

Oracle基本PLSQL的使用实例详解 PL/SQL 块是在 SQL 语言之上发展起来的一种应用,可以集中的处理各种复杂的 SQL 操 作. 组成: DECLARE: 声明部分 BEGIN 编写主题 EXCEPTION 捕获异常 END; 1.一个简单的PL/SQL块 DECLARE i number; BEGIN I:=30; DBMS_OUTPUT.put_line('I的内容为:'||i); END; 此时,直接执行程序即可. 执行之后发现没有任何的输出.因为 Oracle 在系统设置中

python下读取公私钥做加解密实例详解 在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签).下面是Python下的应用举例. 假设我有一个公钥文件,rsa_pub.pem, 我要读取这个公钥并用它来加密. from M2Crypto import RSA,BIO fp = file('rsa_pub.pem','rb'); pub_key_str = fp.read(); fp.close(); mb = BIO.MemoryBuffer(pub_key_str); pu

nginx centos 服务开机启动设置 建立服务文件 以nginx 为例 vim /lib/systemd/system/nginx.service 在nginx.service 中插入一下内容 [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart= 服务启动命令 ExecReload= 服务重启命令 ExecStop=服务停止命令 PrivateTmp=true [Install] Wa

本文实例讲述了Java设计模式之监听器模式.分享给大家供大家参考,具体如下: 监听器模式有三个要素--事件源.事件对象.监听器. 事件源:顾名思义,事件发生的源头,比如点击的按钮,属于被监听的对象: 事件对象:这个经常和事件源混淆,它经常被用来包装事件源,切记,它毕竟是个事件,比如点击事件,和事件源的区别自己感受,木有栗子: 监听器:这个是监听器模式的核心,定义事件发生后的动作,通常事件对象作为监听器中定义的函数入参. 下面举个简单的栗子: 故事背景是,小明是个不讲卫生的孩子,他妈妈很担心他的健

一.server.php服务端: <?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); //本地IP $address = 'localhost'; //设置用111端口进行通信 $port = 111; //创建SOCKET if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) { echo "socket创建失败原因 &q

linux系统下Qt应用程序重启,嵌入式Linux重启QT应用程序的简单办法(基于QT4.8 qws)...相关推荐

  1. 61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯)

    61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯) 2021/4/7 15:13 https://xueqiu.com/797071 ...

  2. 在linux系统下忘记了root密码,在linux系统下,忘记了root密码,可以到()模式下修改找回root密码()...

    在linux系统下,忘记了root密码,可以到()模式下修改找回root密码() 更多相关问题 某分部工程双代号网络图如下图所示,其作图错误表现为().A.有多个起点节点B.有多个终点节 鉴于资源有限 ...

  3. linux死机快捷键重启,在Linux系统下死机后使用快捷键安全重启的方法

    如果你在Linux操作系统碰到电脑死机的情况,请不要强制关机或者是切断电源,因为这样做会带来硬件的损坏,而且很可能使Linux操作系统中的数据丢失,的确会发生这种情况.一般情况下,如果Linux系统死 ...

  4. linux系统下的编程软件,四款​linux​操作系统总有一款适合你

    转为使用Linux可谓是开启了一扇新工具和新技术的大门,它使你对计算环境的体验更为轻松.但是根据你所选择的Linux操作系统的不同,有时你甚至是浏览桌面环境也可能会充满了挑战,因此在客观上还是多少存在 ...

  5. linux系统下安装教程_手机安装linux系统安装教程

    vm虚拟机的安装教程: . 这个是不行的,winxp只可安装在系统盘上的,win8可以安装在非系统盘上的 . Linux系统跟windows系统的安装不大一样,有不少需要注意的地方,以RedhatLi ...

  6. 嵌入式linux系统移植的四大步骤_嵌入式 Linux 产品技术评估之系统裁剪与启动速度...

    作者简介:吴章金,十年 Linux 研发经验,Linux Committer,前魅族内核团队技术总监.热门开源书<C 语言编程透视>作者. 版权声明:本文最先发表于 "泰晓科技& ...

  7. linux系统下制作启动u盘,制作Linux系统启动盘的四种简便方法

    Linux的启动软盘有boot盘和boot/root盘之分,所谓的boot盘只能用来启动已经安装在硬盘上的Linux系统,而boot/root盘本身就是一个迷你Linux系统.Linux启动软盘是系统 ...

  8. 嵌入式linux系统移植的四大步骤_嵌入式linux系统移植基本知识

    系统移植第一天 [ 1 ] 系统移植重点掌握的内容 1 . 搭建交叉开发环境 2 . 移植 Bootloat 3 . 移植 kernel 4 . 根文件系统的制作 [ 2 ] 第一天要掌握的 1 . ...

  9. 【解决方案】64位Linux系统下无法编译、运行32位C、C++程序的解决办法

    [故障] 1. 从32位系统里面复制过来的32位C或C++程序无法运行,提示找不到程序文件,或找不到libstdc++.so.6库 [oct1158@oct1158-fedora 32env]$ ./ ...

最新文章

  1. 跟老齐学Python:轻松入门pdf
  2. 一道Java面试题目——随想+心得
  3. [开源].NET数据库访问框架Chloe.ORM
  4. 背景和文字分离的matlab实现
  5. 牛客网(剑指offer) 第十八题 二叉树的镜像
  6. [leetcode] 53.最大子序和
  7. 操作系统课设之Linux 进程间通信
  8. 文言文生成器_英语不好,学编程太困难?或许用文言文来编程你就更加容易上手了!...
  9. VR打造视觉盛宴,丰富精彩生活
  10. java 随机生成中文姓名 工具类
  11. Linux--详细安装教程
  12. AI - Intelligent Agents
  13. MacOS删除系统自带软件-MacOS10.15 Catalina删除系统系统软件
  14. App下载安装量如何统计
  15. 概率栅格地图中Uint8_t向int8_t转换
  16. matlab零序五次谐波,基于5次谐波的小电流接地系统故障选线方法仿真与分析.docx...
  17. 体育直播数据网站如何运营
  18. 关联分析中的支持度、置信度和提升度
  19. 大数据导出Excel导致内存溢出的解决方案
  20. Panads(四):数据清洗——对缺失值的处理

热门文章

  1. Ps 初学者教程「59」如何在图片中创建双重曝光效果?
  2. 【7夕有礼】土味运维情话大赛邀你来战
  3. 网络开发的两大架构★★★★★
  4. 外汇天眼:即使与世界第一的差价合约提供商交易也会被骗!
  5. ifcfg,ip/ss,配置文件
  6. 为什么mybatis执行sql后,映射的结果变少了
  7. 14.CPU调度——CPU调度策略
  8. 使用C++快速计算网络抗毁性
  9. android 骁龙图库解析,处理器解析 双核Z2580/四核骁龙600_中兴 Geek_手机Android频道-中关村在线...
  10. c语言电量百分比程序,C语言实现的百分比加进度条的显示程序