此篇主要针对于本人使用mobaxterm出现的问题,mobaxterm远程操控服务器的时候大多数时候挺方便的,有时候超过6分钟未操作会自动断开,这个小问题只需要在设置里面把SSH保持连接勾选上就好了。

但困扰我的并不是这个问题,当我想让我的项目持久的跑在服务器上的时候,每次一关闭mobaxterm或者我的笔记本断网, 服务器中的程序进程也随之断开了,我就纳闷了,跟我的主机保持状态一致的服务器,我还要你干嘛???

随后查阅资料发现,每次只要断开运行在mobaxterm程序的标签或者是直接关闭mobaxterm都会自动的关掉当前运行的程序。那么只需要把程序脱离终端就好了啊。

操作如下(我原先的运行指令是:./server 80):

  • nohup 你的shell命令 &(如:nohup ./server 80 &)

nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行。这样就可以让你的程序免于被自动关闭了,当然,可千万别忘了关闭,所以结尾的&作用就是运行在后台(这里体现不出,主要为了让其显示进程号),附带显示该进程号。不加&也没关系只是到时候找该进程的时候稍微麻烦一些罢了。

下面是运行结果:

[root@VM-0-16-centos TinyWebServer]# nohup ./server 80 &
[1] 22029
[root@VM-0-16-centos TinyWebServer]# nohup: ignoring input and appending output to ‘nohup.out’

第一行是自己输入的命令,第二行是&输出的进程号(没有&就不会有这一行),第三行是nohup的警告(可以不管)

我们来讲讲nohup,全称no hang up(不挂起),就是专门放在系统后台不停的执行命令,而不管终端是否退出,nohup命令会自动的输出一个名叫nohup.out的文件到该目录下,如果该目录没有此文件或不可写,则会输出到$HOME/nohup.out。所以警告只是没有输出文件而已,问题不大。

现在后台已经开始运行了,那么要关闭进程也很简单,就分为两步,第一步为查找进程:

  • ps -aux | grep "./server 80"

ps查看进程,a(显示所有进程),u(以用户为主的格式来显示),x(不区分终端机)

“|”管道,以前面命令得到的结果作为输入

grep,搜索匹配内容,也就是查找"./server 80"

得到的结果如下:

[root@VM-0-16-centos ~]# ps -aux | grep "./server 80"
root     22029  0.0  0.2 585880  5644 pts/2    Sl   21:10   0:00 ./server 80

得到的PID为22029,然后执行kill -9 22029即可

-9为彻底删除

被这个问题折磨了好久,最后海搜资料终于解决了,写下这篇博客记录一下,也希望可以让其他人不被这种问题给折磨住。

linux脱离终端运行程序相关推荐

  1. linux上根据运行程序的进程号,查看程序所在的绝对路径。linux查看进程启动的时间

    1 linux上根据运行程序的进程号,查看程序所在的绝对路径 1.如下,我想查看python 25_run_train_tripletloss_sknet_8w_offline_c_plus.py 这 ...

  2. Linux 下后台运行程序,查看和关闭后台运行程序(转载)

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  3. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

  4. 异常“企图释放并非呼叫方所拥有的多用户终端运行程序”的处理

    在使用锁机制时有可能会出现"企图释放并非呼叫方所拥有的多用户终端运行程序"的异常,改异常的出现是因为一个非拥有锁的线程企图释放其他线程占有的锁. 在使用ReaderWriterLo ...

  5. 在Red Hat Linux中自动运行程序

    在Red Hat Linux中自动运行程序 1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常 ...

  6. Linux命令--定时运行程序(脚本)--方法/实例

    原文网址:Linux命令--定时运行程序(脚本)--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 说明         本文介绍Linux如何定时运行程序. 概述 at命令是一次性定时计划任务, ...

  7. linux让前台程序脱离终端运行

    在一个终端的前台执行程序,时间久了,你发现应该放到后台更合适!是直接杀死再开?那你就Out了!!!有方法把它放入后台,并脱离终端! 1. 正在执行的前台程序 2. 将程序放入后台 2.1 使用组合件c ...

  8. linux服务器后台运行程序

    让程序脱离终端单独运行 nohub ... & 重新连接ssh后,ps ux 可以查看所有后台程序 转载于:https://www.cnblogs.com/YDDDD/p/10795719.h ...

  9. 如何在Linux实现自动运行程序

    1.开机启动时 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init. init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /etc/rc. ...

最新文章

  1. django 基础知识 ~ forms详解
  2. Python Day34
  3. 第十一届河南省赛--H : Attack City and Capture Territory
  4. C语言中三块“难啃的硬骨头”
  5. C/C++ 指针小结——指针的概念和如何使用指针
  6. 欧几里得求最大公约数--JAVA递归实现
  7. VTK(三)---在Linux系统上配置NDI Aurora磁导航API(用于手术导航系统的开发)
  8. 计算机mac地址设置路由器,路由器设置:如何查看电脑/手机的MAC地址?
  9. Image2LaTeX + AxMath:公式自动识别 + word 编辑公式
  10. 计算飞机票价格python_Python 带你薅羊毛:手把手教你揪出特价机票信息
  11. 让你相见恨晚的Photoshop 技巧
  12. msxml3.dll 错误 '800c0008'
  13. 物联网数据多又杂?好用的数据可视化服务来了
  14. 2021-11-25 统计学-基于R(第四版)第八章课后习题记录及总结
  15. jupyter notebook报错
  16. 周迅与李大齐分手后首谈旧爱:诚实面对自己的想法
  17. Python爬取特朗普就职演讲稿,使用ngram模型进行数据清洗
  18. element日历上月下月样式修改
  19. 连接mysql报错 errorCode 1129, state HY000, Host ‘xxx‘ is blocked because of many connection errors
  20. 安卓智能地图开发与实施五:在线基础底图 - ArcGIS Runtime SDK for Android(Version 100.0.0)

热门文章

  1. 2.4 人工智能项目开发与验收
  2. 自动化测试 appium 会报错 Could not proxy command to remote server. Original error: Error: socket hang up
  3. java eos是什么_EOS是什么?EOS最重要的几个概念你知道吗?
  4. 消费税简介、消费税税目 、消费税税率 、消费税计算、综合练习
  5. 修复OutLook2007 pst 文件
  6. Python实现ARMA模型
  7. Java实验报告之java面向对象编程
  8. 在图像间进行特征匹配
  9. navicat创建MySql定时任务详解
  10. 通过MatLab将传递函数离散化