如果要运行程序,在命令提示行下输入程序名后回车,程序被执行,然后等待程序运行完成,在程序运行的过程中,也可以用Ctrl+c中止它。

在实际开发中,我们需要让程序在后台运行,没有界面,没有用户输入数据。
如果想让程序在后台运行,有两种方法。

1、加“&”符号

如果想让程序在后台运行,执行程序的时候,命令的最后面加“&”符号。

如:

./book257 &

程序就在后台运行了。

在后台运行的程序,用Ctrl+c无法中断,并且就算终端退出了,程序仍在后台运行。

如果终端退出了,后台运行的程序将由系统托管。

在第一张图中,book257的父进程是64206,第二张图中,book257的父进程是1。

为了不影响接下来的学习,用killall book257指令让book257程序退出。

2、采用fork

另一种方法是采用fork,主程序执行fork,生成一个子进程,然后父进程退出,留下子进程继续运行,子进程将由系统托管。

在book257的main函数后增加以下代码:

 if (fork()>0) return 0;

重新编译后执行book257pp,运行效果如下:

上图中,44850是fork后的子进程,它的父进程号是1,是系统进程(亲爹没了,天地日月为父)。

3、如何让中止后台运行中程序

问题来了,程序在后台运行了,离开了终端控制,用Ctrl+c上也无法中止,那怎么让它停下来呢?暂时用一个笨方法,杀了它。

杀程序有两个方法:

1)killall 程序名

killall book250

执行效果

2)先用“ps -ef|grep 程序名”找到程序的进程编号,然后用“kill 进程编号”。

执行效果

4、参考文献

1、https://blog.csdn.net/wucz122140729/article/details/105112944

Linux如何让程序在后台运行相关推荐

  1. 在linux将一些程序放到后台运行的方法(nohup/screen/daemonize)

    方法一:nohup # nohup sh xkahn.sh & 方法二:screen 1.先安装screen程序 yum install -y screen 2.运行screen程序 (注释: ...

  2. linux中启动 java -jar 后台运行程序

    ps -ef | grep java  查询java 端口占用 linux中启动 java -jar 后台运行程序 直接用java -jar xxx.jar,当退出或关闭shell时,程序就会停止掉. ...

  3. 【破事氵】在Linux环境中让程序在后台运行

    前言 首先,相信大家都或多或少了解过linux和云服务器.linux作为一个开源的操作系统内核,在开发者人群和服务器领域中有着很高的使用率.而现在在以阿里云为代表的云服务器商中,可以以很低的价格买入入 ...

  4. Linux——让程序在后台运行(四种方法+使用推荐)

    目录 一.第一种方法(加"&"符号) 二.第二种方法(nohup命令)  三.第三种方法(screen命令)   四.第四种方法(systemctl命令)   五.总结 六 ...

  5. Ubuntu中如何使得程序在后台运行

    Ubuntu中如何使得程序在后台运行 一.前言 在Ubuntu中有的程序启动需要执行改程序./bin目录下的文件,并且启动之后这个shell就不能使用和关闭了,非常的麻烦,因此就有了相应的命令来解决这 ...

  6. 让程序常驻后台运行的原理和方法

    为什么80%的码农都做不了架构师?>>>    linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有 ...

  7. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

  8. java语言写常驻服务_让程序常驻后台运行的原理和方法

    linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有一个session首进程,而一个session首进程可能会有一个控 ...

  9. 【iOS系列】-程序开启后台运行

    [iOS系列]-程序开启后台运行 iOS程序是伪后台的运行,可是有时候我们需要让其在后台也要进行一些操作,我们可以让其伪装成音乐的APP,这样就可以让程序后台进行相关操作了,具体做法如下: 1:在Ap ...

最新文章

  1. 蓝桥杯-区间k大数查询(java)
  2. 互联网1分钟 | 0920
  3. XCTF-Web-高手区-easytornado
  4. 在mac上安装Go语言初体验
  5. python中truncate的用法_在Python中操作文件之truncate()方法的使用教程
  6. 即时通讯作为互联网最普及的基础服务之一
  7. ajax请求完之前的loading加载
  8. busybox的编译和使用
  9. 如何在 Pr 中创建动作序列?
  10. linux系统的手机刷机包,ubuntu系统修复工具-ubuntu手机操作系统刷机包v20.04 官方版 - 极光下载站...
  11. java基于springboot的酒店预约管理平台系统
  12. uni ios视频黑屏、无声音或无法播放
  13. php的seeder是什么,使用Laravel框架的Seeder实现自动填充数据功能
  14. 台式计算机怎么开声音,台式电脑没有声音怎么办
  15. 基于K210的声源定位系统
  16. item_search_img-按图搜索1688商品(拍立淘)接口的接入参数说明
  17. socket 科普文章
  18. C语言程序设计第二版 甘勇, 李烨 , 卢冰
  19. 【Java】数据交换
  20. 2021-ICPC银川站赛后总结

热门文章

  1. tf.extract_image_patches
  2. @keyup.enter.native不生效?看看@keyup.enter.native和@keyup.enter的区别和使用
  3. @keyup.enter.native不生效问题解决
  4. 站长还应该发布外链吗?
  5. ppt在线转换成pdf
  6. math.h数学函数
  7. Office2021官方镜像
  8. Oracle 数据压缩(Compression) 技术 说明
  9. html video标签canplay,HTML oncanplay事件用法及代码示例
  10. photoshop cc2017全套视频课程 从基础到实战案例PS海报-王诚-专题视频课程