Linux上,如果一个进程需要保持后台运行,尤其是在Linux服务器上,后台运行程序、避免因为SSH连接断开而导致进程停止运行时,该怎么办?
本文介绍了Linux进程后台运行的几种方式,包括nohup、setsid、screen等工具的使用方法,以及这些工具在系统管理、运维方面的应用。同时还介绍了如何通过screen工具创建、管理、恢复会话,以及如何使用nohup、setsid等命令在后台运行进程。
1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行
我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。 这是由于在用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。 解决办法有两种:让进程忽略HUP信号,或让进程运行在新的会话里从而成为不属于此终端的子进程。
最早Unix发布,其高效率的交互迅速获得大家青睐;但是,随后Unix宣布闭源,以及商业收费后,自然会有一个新的系统来替代。于是,就有了GNU计划(英语:GNU Project),又译为革奴计划。
Linux如何在后台跑程序?是刚接触Linux的同学都会遇到的问题。大家使用Linux操作系统时,或许都遇到过以下类似场景。
我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:
这样一来,test程序就在后台运行了。但是,这样处理还不够,因为这样做虽然程序是在后台运行了,但log依然不停的输出到当前终端。因此,要让终端彻底的清静,还应将log重定向到指定的文件:
当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。
后台作业虽然被送往后台允许,但其依然与终端相关;退出终端,将关闭后台作业。如果希望送往后台后,同时剥离与终端的关系。可以使用下面两种方法:
使用SSH终端(比如putty,xshell)连接Linux服务器上运行比较耗时任务,可能需要几个小时甚至几天才能完成,这时候终端被占据,我们还要做其他的任务呢,所以需要将这一类耗时任务放到后台来跑,只需要记录好日志就行了,有下面这些常用方法来实现这个需求。
通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束。这被称为在前台运行命令,或者前台进程。当一个进程在前台运行时,它占用了你的 shell,并且你可以通过输入设备和它进行交互。
◆ 概述 SSH(Secure Shell)是端到端的加密网络系统,允许用户从客户端远程访问服务器。但有时由于不活动或网络信号不佳,SSH远程访问可能会断开连接。不管是什么原因,作为 Linux 管理员,在断开连接后保持 SSH 会话和进程运行是一项至关重要的工作。本文讨论断开连接后如何保持 SSH 会话运行。 ◆ 1. screen ---- 该screen命令是 SSH 管理最常用和最有用的命令。 对于 Ubuntu: $ sudo apt install screen 对于 OpenSUSE: $
大多数情况下,我们都 使用SSH 或者 telent(基本已不用了~) 远程登录到 Linux 服务器。但是有时候我们有这样的需求:经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等
本栏目Java开发岗高频面试题主要出自以下各技术栈:Java基础知识、集合容器、并发编程、JVM、Spring全家桶、MyBatis等ORMapping框架、MySQL数据库、Redis缓存、RabbitMQ消息队列、Linux操作技巧等。
如果提示command没找到,说明没安装,不过无所谓,其实直接执行安装过的话会更新或者不进行任何操作。
在Linux环境下进行脚本开发时,常常需要自主管理进程,确保某些关键程序在用户退出后仍能继续运行,而不依赖于systemd这样的进程管理工具。本文将探讨如何通过其他方法实现这一目标。
在实际工作中,一般会通过ssh连接服务器,隐藏可能就会有脚本或命令在执行期间不能中断的需求,若中断,则不仅前功尽弃,还可能破坏系统数据,下面是防止脚本执行终端的3种方法:
使用家庭宽带的用户,大多都没有外网IP,本期就来聊聊怎么使用反向代理,让你的私人云盘能在外网访问,反向代理其实还有很多用途,感兴趣可以去搜索引擎查一查。
接触spring boot有一段时间了,但是一直未打包部署过spring boot项目,因为其内置tomcat,所以打包部署方式有所不同。还有ngrok,是一个类似于花生壳的内网穿透神器,本文也将介绍它的用法。
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口、网络断开连接的干扰呢?
今天就给大家介绍 linux 中几种后台任务的执行方法避免上述问题。1. 问题的引入程序员最不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行 CT 今天就给大家介绍 linux 中几种后台任务的执行方法避免上述问题。 1. 问题的引入 程序员最不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行 CTRL+C 等原因造成 ssh 断开造成正在运行程序退出,使得我们的工作功亏一篑。 其背后的主要原因在于上述的相关操作,shell 默认会发送中断信号给该终端 session 关联的进程,从而导致进
由于腾讯家的即时通讯类app都是使用的自家的信鸽推送服务,这样造成了服务常驻,手机异常耗电,于是我们这里可以使用FCM-for-Mojo这款app来使用FCM消息推送通道
刚装完最新的Python3.8.3,准备安装screen后台运行程序;centOS原来自带了Python2.6.6;
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。
https://squoosh.app/ 这个网站应该很多人都知道,这是谷歌出品在线图片压缩工具,压缩效率给力的很,是我日常在线压缩博客图片的主要工具,图片无损或低损高效压缩是提供小水管博客访问的有效方法之一,建议大家写文章上传图片时进行无损压缩。
screen 分屏,下次登录可以恢复界面 在Screen环境下,所有的会话都独立的运行,断网续连,其中 带有ctrl + 的命令是再会话里进程运行中操作 yum -y install screen # 安装工具包 screen -S eisc # 新建视窗名字为eisc ping www.eisc.cn # 进程运行中 Ctrl + a 再按 d # 将进程后台运行 screen -ls
使用screen后台运行,未安装时输入yum -y install screen进行安装
之前用过 ngrok ,但去国外“旅游”了一圈还是慢了些。和运维探讨了一下,他是用什么来做内网穿透的,曰:frp
Linux系统为多用户多任务系统 生物软件运行时要能够查看运行状态 实时监控软件运行状态 例如 CPU 内存使用情况等 当运行出现错误时 要能够及时杀死任务 以及任务前后台切换 是否挂起等操作 。
Minecraft确实是一款休闲的好游戏,如何搭建Minecraft 基岩版本服务器?脱离局域网的束缚,随时随地和小伙伴联机休闲呢?(也同时让自己的服务器多了个新功能~)本次教程,基于腾讯云轻量应用服务器教大家搭建Minecraft基岩版本服务器。
一般的linux系统都会自带screen,如果没有安装的话,使用 $ sudo apt-get install screen
---- 最近在写一个监控服务程序,通过交叉监控来监控我们的线上服务。比如我有两台服务器分别为A和B,在A上部署监控程序来监控服务器B,在B上部署监控程序来部署A.由于监控服务要严格按照我们自定制的业务需求来监控,所有监控服务需要自己实现并部署在后台一直运行。所以我就选择了比较简单的nohup命令,比较轻量也很容易部署。 nohup 当用户logout、网络中断和断开连接时,中断会接收到HUP(hangup)信号从而关闭其所有运行的子进程。所以我们解决该问题有两种方式: 让进程忽略HUP signal。 让
Screen可以帮助管理员同时进行多项任务,实现后台运行程序的操作 常用语法和快捷键 语法和快捷键 说明 screen 进入screen模式 exit 退出当前窗口,如果它是此screen的唯一窗口时,此screen也将完全退出。 screen -ls 查看有哪些screen screen -d [pid/tty/host] 将指定的screen作业离线 screen -r [id/name] 打开编号为id或者名称为name的screen窗口 screen -wipe 清除死掉的会话 C-a d det
在Linux系统中,后台进程是一种能够在后台运行而不占用终端的进程。理解和有效管理后台进程对于系统管理员和开发者至关重要。本文将深入探讨Linux中的后台进程,包括后台运行的方式、管理后台进程的命令以及一些实用技巧。
Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就
github项目:https://github.com/ziahamza/webui-aria2
"守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 一、问题的由来 Web应用写好后,下一件事就是启动,让它一直在后台运行。 这
screen是GNU计划开发的用于终端命令行的管理工具,可以新建和管理多个终端命令行会话,并提供切换,分离,挂接等相应的功能。
Linux搭建Java版我的世界服务器教程:https://blog.zeruns.tech/archives/584.html
进程管理包括进程调度、中断处理、信号、进程优先级、进程切换、进程状态、进程内存等等。
补充说明 nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。 如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。 如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
在日常开发和服务器管理工作中,特别是当我们通过 SSH 连接到远程服务器时,通常需要同时执行多个任务。
需求:要在后台跑一个Service执行轮询,屏幕熄灭或锁屏后,仍然需要保持Service一直处于轮询状态。
Author: Frytea Title: 网页版终端webssh2配置 Link: https://blog.frytea.com/archives/33/ Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
把家里的老笔记本拉出来装了个ubuntu做了服务器,然后想着搭建一些游戏服务器,毕竟就在旁边,延迟会很低。
Screego Screego 是一个共享屏幕的应用.使用golang进行开发,在readme中作者吐槽了微软等公司的延迟问题,然后就开源了这个项目.? 这个支持多人共享屏幕,通过浏览器就可以进行共享
哈喽,大家好,我是一条。 好久没出python的教程了,今天教大家做个好玩又实用的。 点赞,收藏准备好。 前言 不知道大家工作中有没有遇到这种情况 产品不知道从哪搞来的截图就这么粘在需求文档上,你还得一个一个敲,气的我这…… 网上有个资料,死活就是不让你复制,气的我这…… 有篇技术文章,代码全是截图,气的我这…… ok。别气了,求人不如求自己,一条教你自制带文字识别的截图工具。 成品展示 现已将文件设置成开机自启动,并一直在后台运行; 当监听到有截屏操作时,保存剪切板的文件; 调用百度开放API进行文字识别
领取专属 10元无门槛券
手把手带您无忧上云