linux命令行界面切换到图形界面_linux退出命令行界面

终端退出后如何让程序在后台运行

nohup `command` &

比如我的rails服务在退出终端之后也能跑在后台,可以这样来写

nohup `rails s -b 0.0.0.0` &

或者将rails s -b 0.0.0.0写到b.bat文件添加可执行权限后,这样:

linux命令行界面切换到图形界面_linux退出命令行界面

注意:&之前有空格

如果只是临时想跑在后台,那就不需要nohup,只需要在程序最后加上&,比如:

make &

但关闭终端后,make也就一并终止、关闭了,若此时还想让程序在后台跑,真正在服务器中运行就需要在前面加上nohup, 此办法适合所有程序。

屏幕会提示:

nohup: ignoring input and appending output to 'nohup.out'

证明运行成功,nohup会把程序运行的输出信息放到当前目录的 nohup.out 文件中去,在开发时很有用,可以在程序出现异常时查看nohup.out来分析。

一定要使用Exit退出终端

出现nohup提示之后需要按回车再次进入命令行,输入命令 exit 退出终端,然后再关闭终端

linux命令行界面切换到图形界面_linux退出命令行界面

如果此时直接关闭终端的话,会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown,起不到关掉终端后调用程序继续后台运行的作用。看下图,我使用git bash连接服务器后直接关闭窗口的时候会提示:

linux命令行界面切换到图形界面_linux退出命令行界面

很多人刚学习使用nohup的一个误区,就是直接关闭终端窗口,但这里有个坑。nohup的后台程序有时候还能跑一会儿,就以为没问题了,其实这个后台程序已经在关闭队列中了,只是有时候没有立刻关闭。

Linux中进程概念

找了下关于进程的一些知识:

在Linux中,每个进程都属于一个进程组(group),进程组有一个组长;多个进程组构成一个会话,会话是由其中的进程建立的,该进程叫做会话的领导进程(session leader)。会话领导进程的PID成为识别会话的SID(session ID)。会话中的每个进程组成为一个工作(job)。会话可以有一个进程组成为会话的前台工作(foreground job),而其他的进程组是后台工作(background job)。并不是进程组中的每个进程都是job中的内容,job是由session进程直接的“儿子”组成的,但是当job中的进程又产生子进程的时候,子进程便不是job中的内容。

每个会话可以连接一个控制终端(control terminal)。当控制终端有输入输出时,都传递给该会话的前台进程组。当前台进程组或者说job中的最后一个进程结束后,后台的session控制进程自动切换至前端,由终端产生的信号,比如CTRL+Z, CTRL+\,会传递到前台进程组。

会话主要是针对一个终端建立,当我们打开多个终端窗口时,实际上就创建了多个终端会话。每个会话都会有自己的前台工作和后台工作。这样,我们就为进程增加了管理和运行的层次。

我自己的理解应该是这个nohup的程序是与终端绑定在一起的,强制关闭会把后台程序一并关掉。而exit命令则会关闭掉终端,判断这个nohup是挂起,就不管了,这样就实现了后台程序继续运行的效果。观众哪位有更懂的,欢迎指导一二。

本文【linux命令行界面切换到图形界面_linux退出命令行界面】由作者: B/S结构 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4302.html

(0)
上一篇 2023-03-08 10:35:55
下一篇 2023-03-08 10:35:57

相关推荐

  • java服务器文件互传数据(jsp上传文件到服务器)

    对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文…

    2023-03-12
    300
  • vim命令行模式 vim切换命令模式

    前言 学习linux少不了和vim打交道,今天我们就来了解一下什么是vim,如何高效使用vim以及如何配置vim。 vi和vim都是linux下多模式的编辑器,两者关系类似于c/c++的关系,vim是vi的升级版,不仅兼容vi的所有指令,还增加了一些新的特性,比如语法高亮,支持正则表达式等,vim具有程序编辑能力,常用于编写代码。下面让我们具体了解vim v…

    2023-03-15
    200
  • ps复制一块粘贴到另一个地方

    1、新建一个300*400像素白色背景的画布。 2、矩形选框工具直接画出跟画布一样大小的框。 3、鼠标右键选择描边,宽度设置成25,颜色设置成黑色。 4、CTRL+D取消选区。 5、CTRL+J复制一层。 6、CTRL+T调整好大小。 7、CTRL+SHIFT+ALT+T一直按到合适为止。 8、拖入自己找好的剪影素材,摆放到合适位置,完成。

    2023-03-19
    000
  • java程序的运行环境简称为_java开发环境简称

    JDK是SUN提供的一套Java开发环境,全称JavaDevelopmentKit,简称JDK,它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。 在JDK安装完毕后,会在硬盘上生成一个目录,该目录被称为JDK的安装目录,如图1所示。 为了更好地学习JDK,初学者需要对JDK安装目录下的子目录及文件的…

    2023-03-09
    800
  • 存储容量单位之间的换算关系

    KB:全称千字节(Kbyte); MB:全称兆字节(MByte); GB:全称吉字节(GByte)。 计算机存储容量单位,一般用字节(Byte)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)、拍字节(PB)、艾字节(EB)、泽它字节(ZB,又称皆字节)、尧它字节(YB)表示。 换算关系是: 1KB=1024B 1MB=1024KB 1GB=…

    2023-03-17
    300
  • 按键精灵穿越火线脚本_cf按键精灵自动准备脚本

    一、自带脚本例子 自带脚本例子是按键精灵官方提供的一套介绍按键精灵功能的脚本集合,安装按键精灵就自带的。打开软件在主界面就可以看到这些脚本。 二、使用脚本例子 打开按键精灵的时候就可以在主界面中看到自带的脚本例子。使用这些例子非常简单,只要选中一个或是多个脚本有效,然后再按下相应的启动/中止热键就可以启动/中止脚本了。 具体操作步骤如下: (1)钩选脚本有效…

    2023-03-20
    100
  • 图形用户界面操作系统借助于

    操作系统 现代操作系统由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。计算机操作系统是一个复杂的系统。 然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有操作系统的细节,这样我们就不用再编写代码了,所以在硬件的基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入的指令达到控制硬件的效果,从而…

    2023-03-21
    000
  • oled原理图及引脚分析6针(4引脚oled显示器接线方法)

    一、 OLED显示屏概念 显示屏的发光单元是有机聚合物发光二级管,即organic/polymer light emitting diode,简称 OLED。单色屏的一个像素就是一个发光二极管。OLED是“自发光”,像素本身就是光源,所以对比度极高,显示效果很犀利。缺点:当前技术所限,无法大尺寸化,价格较高。 OLED分PMOLED、AMOLED两种,PMO…

    2023-03-18
    100
  • 百分比换算成小数要怎么换算(百分比如何换成小数点)

    分数化小数: 也就是用分子除以分母,得出的即是小数。 小数化为百分数: 也就是让小数乘上100,再在其后面加上个%号。 比如:1/4化为小数,就是1除以4=0.25 就是小数,再化成百分数就是 0.25×100=25 再加上% 即25%。若把25%化成小数即去掉百分号现除以100 25÷100=0.25,0.25化成分数即25/100再化简得1/4。 百分数…

    2023-03-14
    300
  • pcb是什么行业_pcb算不算半导体产业

    本文所有内容均是产业研究和公司研究的案例,不构成任何投资建议,不构成任何投资推荐。另外还有三点值得注意: 1.短期价格波动几乎不可预测。但巨大利益驱使下市场上会充斥神预测。 2.再好的生意,如果基本条件发生大的变化,也有失败的风险。 3.估值过高的好公司,随着流动性收紧,如果利润增长没有达到预期,也有可能长期回调。 之前在半导体材料介绍中介绍过封装基板,是一…

    2023-03-11
    800

发表回复

登录后才能评论
返回顶部
错说博客上线啦!