让命令在后台执行的几种方法

QuibblerQuibbler 2020-08-17 约 3 分钟 2034 次阅读

让命令在后台执行的几种方法

Linux终端命令行输入命令执行,但是关闭终端,正在执行的命令也会被终止。很头疼,因为SSH远程到服务器上,对于一些需要长期运行的服务总不能一直连着终端“保活”吧。一旦断开怎么让命令继续执行呢?

对后台的网易云API服务(端口3000)进行升级,记录一下将服务放到后台执行。


1、&

&在输入的命令行结尾来命令后台继续运行。

1.1、&用法

在执行的命令行结尾加上&

ping quibbler.cn &

上面的命令就会一直执行,不过输出一直占用终端屏幕也不友好。可以将输出导至文件或者/dev/null“黑洞”

ping quibbler.cn > /dev/null &

1.2、查看后台执行的任务

那么怎么查看后台正在运行的任务呢?输入jobs命令查看。jobs命令以后再详细了解。

jobs

会显示后台执行的任务:

1.3、缺点

虽然能在后台运行,但是终端关闭的话,执行命令的进程还是会终止。

2、nohup

nohup是no hang up的缩写,意思是“没有挂断”。

2.1、使用

非常推荐使用这个,好用靠谱!及时远程终端断开,账号退出,命令启动的服务仍然可以在服务器上执行。

nohup node ./app.js

将输出的日志保留或者输出到“黑洞”丢弃

nohup node ./app.js > /dev/null

2.2、查看后台执行的服务

不同于jobs,任务已经真正挂起到后台脱离终端。查看进程即可查看到后台执行的任务

ps -aux | grep node

相关博客:

        Linux让命令在后台执行

        LINUX任务(jobs)详解

        Linux的bg和fg命令

        ssh命令行下多任务前后台切换

        Linux nohup实现后台运行程序及查看

        

相关推荐

获取系统SDK版本、判断手机ROM
精选Code

获取系统SDK版本、判断手机ROM

Build获取系统SDK版本Android中部分API的使用,需要在特定的SDK版本之后才能使用,因此在兼容老版本SDK的时候,经常需要判断API的版本。各种Android版本的对应关系参考《Android各版本对应的SDK版本》判断手机ROM有时候需要判断手机系统的ROM,检测ROM是MIUI、EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件(关于build.p

4.3k
AndroidStudio中各种中文乱码问题
精选Code

AndroidStudio中各种中文乱码问题

AndroidStudio中各种中文乱码问题1、编译Java错误信息乱码在出现这个Annotation processors must be explicitly declared now...问题的时候,正好也发现AndroidStudio Build Output错误信息都乱码。经常遇到各种问题,习惯了,现在遇到的问题,都是以后的答案。 1.1、修改项目build.gradle(无效)在整个p

2.8k
Function Calling 详解:让大模型调用你的函数
精选Code

Function Calling 详解:让大模型调用你的函数

问大模型“北京今天多少度”,它只能用训练数据里的旧知识猜,或者老实承认不知道。但如果告诉它“我这里有个查天气的接口”,它会说:“帮我调用 get_weather,城市参数填北京。”你的程序执行调用,把结果递回去,它再组织成一句自然的回答。Function Calling(函数调用)让模型从“只会聊天”进化为“会办事”——它是大模型连接外部世界的第一块基石,也是一切 Agent 系统的地基。本文按“…

109