nohup和screen的比较

2023-11-07

在实际工作中,我们ssh等到远程的Linux上,运行一个程序,但是当我们关闭掉我们的连接终端断开ssh后,刚才运行着的程序也会自动被中断结束。
当ssh连接断开后,如何让我们的程序继续在后台运行呢?下面介绍我常使用的两个方法。

A、使用nohup让程序在后台继续运行
常用命令:# nohup /scripts/test.sh > testlog.log  &     #如果没有自定义重定向输出信息,运行成功后默认会将标准输出重定向到当前目录的nohup.out文件中
当需要将nohup后台运行的程序调到前台时,先jobs命令查看后台job编号,用 fg %n命令可以调回到前台运行(n是job的编号)。例如:
[root@centos1152 ~]# nohup /root/cp11.sh > cp11.log &      #回车后脚本开始后台执行
[1] 3485
[root@centos1152 ~]#  jobs
[1]+  Running                 nohup /root/cp11.sh > cp11.log &
[root@centos1152 ~]#  fg  %1   
nohup /root/cp11.sh > cp11.log     #回到job 1会话中了
Last login: Sat Jun  9 23:07:03 2012 from 192.168.11.100
如果此时突然ssh断开了,那么再登陆到系统的时候,执行jobs就不会发现刚才的job的编号了。但是job脚本会继续执行,直到完成脚本的内容。
[root@centos1152 ~]# jobs    #不会发现刚才的job的编号了
[root@centos1152 ~]#

另外:没有使用nohup的单独的&时可以让命令后台运行的,但是如果ssh会话断掉,&的命令也会自动退出。
例如:
[root@centos1152 ~]#  /root/cp11.sh > cp11.log &   #如果ssh会话突然断开的话,这个脚本就中断执行。

B、screen让程序后台执行——一个强大的工具
简单来说,Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的telnet/SSH连接窗口那样。在screen中创建一个新的窗口有这样几种方式:

1.直接在命令行键入screen命令
[root@centos1152 ~]#  screen
Screen将创建一个执行shell的全屏窗口。你可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nohup和screen的比较 的相关文章

  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 在 Linux 上访问 main 之外的主要参数

    是否可以访问参数main在外面main 即在共享库构造函数中 在 Linux 上除了通过解析之外 proc self cmdline 您可以通过将构造函数放入 init array部分 功能在 init array 不像 init 使用相同
  • 如何使用 echo 写入非 ASCII 字符?

    如何写非ASCII http en wikipedia org wiki ASCII使用 echo 的字符 是否有转义序列 例如 012或类似的东西 我想使用以下方法将 ASCII 字符附加到文件中 echo gt gt file 如果您关
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • 使用 scp 从不同路径复制多个文件的智能方法[重复]

    这个问题在这里已经有答案了 我想知道一种简单的使用方法scp复制文件系统上不同路径中存在的文件和文件夹 SSH 目标服务器请求密码 但我无法将其放入配置文件中 我知道scp没有我可以从脚本提供的密码参数 所以现在我必须逐个复制每个文件或目录
  • 使用 gcc 理解共享库

    我试图理解 C 中共享库的以下行为 机器一 cat one c include
  • 使用 ruby​​ Net::SSH 通过 sudo 读取远程文件

    我必须读取我有权 sudo 读取的远程文件的内容 猫 少或尾巴 我将在 Ruby 中执行此操作 因此我认为应该使用 Net SSH 来执行此操作 该文件是一个日志文件 因此可能会很大 这是我现在正在尝试的代码 require rubygem
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 如何设置Java线程的CPU核心亲和力?

    我搜索了以前关于类似主题的帖子 但找不到合适的答案 因此提出这个问题 非常感谢您帮助回答 我知道在 Linux 中通过任务集命令设置进程与特定 CPU 核心的关联性 但我想设置 Java 线程与特定 cpu 核心的亲和力 以便属于同一进程的
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 在非实时操作系统/内核上执行接近实时任务的最佳方法是什么?

    在一台 GNU Linux 机器上 如果想要执行 实时 亚毫秒级时间关键 任务 您几乎总是必须经历漫长 复杂且容易出现问题的内核补丁过程 以提供足够的支持 1 http en wikipedia org wiki RTLinux Backg
  • 提高mysql导入速度[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我有一个很大的数据库22GB 我曾经用过进行备份mysqldumpgzip 格式的命令 当我提取 gz 文件时 它会生成 sql文件的
  • 如何在文件夹中的 xml 文件中 grep 一个单词

    我知道我可以使用 grep 在这样的文件夹中的所有文件中查找单词 grep rn core 但我当前的目录有很多子目录 我只想搜索当前目录及其所有子目录中存在的所有 xml 文件 我怎样才能做到这一点 我试过这个 grep rn core
  • 运行 shell 命令并将输出发送到文件?

    我需要能够通过 php 脚本修改我的 openvpn 身份验证文件 我已将我的 http 用户设置为免通 sudoer 因为这台机器仅在我的家庭网络中可用 我目前有以下命令 echo shell exec sudo echo usernam
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 (0) 连接失败..!

    我正在使用 php 邮件程序功能 但出现以下错误 如何修复它 2016 01 22 06 15 48 SMTP 错误 无法连接到服务器 php network getaddresses getaddrinfo失败 名称或服务未知 0 连接失
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r

随机推荐

  • typecho反序列化漏洞复现

    typecho框架存在反序列化漏洞 利用此漏洞可执行任意代码 环境搭建 第一步 第二步 第三步 第三步 第四步 第五步 第六步 第七步 第八步 第九步 漏洞分析 typecho build install php 文件中 使用unseria
  • Eclipse 安装集成 FindBugs BUG分析插件

    一 下载eclipse软件 https www eclipse org downloads 下载Zip压缩包 解压缩即可 二 下载findbugs plugin压缩包 官网下载或者是从其他资源获取 http findbugs sourcef
  • 阿里推荐算法:BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transform

    这篇是阿里猜你喜欢的一篇transformer paper 含金量很高 注意 1 bert用在推荐系统中 将用户的历史序列看做是词序列 2 测试时 将序列的最后一个item进行masked Abstract 根据用户历史的行为信息 对用户动
  • [论文阅读] (16)Powershell恶意代码检测论文总结及抽象语法树(AST)提取

    娜璋带你读论文 系列主要是督促自己阅读优秀论文及听取学术讲座 并分享给大家 希望您喜欢 由于作者的英文水平和学术能力不高 需要不断提升 所以还请大家批评指正 非常欢迎大家给我留言评论 学术路上期待与您前行 加油 前一篇介绍分享英文论文审稿意
  • python1_4字符串

    字符串 string My name string My name string My name 字符串可以是单 双 三引号 三引号可以空行 res string 1 字符串的索引 res string 2 print res 如图所示1
  • rstudio 导出结果_R语言结果输出方法

    输出函数 cat sink writeLines write table 根据输出的方向分为输出到屏幕和输出到文件 1 cat函数即能输出到屏幕 也能输出到文件 使用方式 cat file sep fill FALSE labels NUL
  • SpringBoot--基础--09--条件注解

    SpringBoot 基础 09 条件注解 一 条件注解 1 1 代码和测试 SysService public interface SysService void show WindowService public class Windo
  • apache beam入门之group分组操作

    目录 apache beam 个人使用经验总结目录和入门指导 Java 如果我们希望将相同的元素进行分组 则可以用Group的转化方法进行操作 首先我们生成1个单词数据集 List
  • 最新uniApp微信小程序获取头像open-type=“chooseAvatar“ @chooseavatar方法

    小程序用户头像昵称获取规则调整公告 调整说明 自 2022 年 10 月 25 日 24 时后 以下统称 生效期 用户头像昵称获取规则将进行如下调整 自生效期起 小程序 wx getUserProfile 接口将被收回 生效期后发布的小程序
  • matlab-滤波系数生成频响曲线

    转载自 matlab 滤波系数生成频响曲线 设计滤波器 build filter sample rate fs 6250 cutoff frequency fc 1000 build a 6th order highpass Butterw
  • 判断多边形与多边形是否相交的方法,代码来自于OpenLayers。

    在做GIS开发时 常常需要用到空间判断的算法 比如 判断地图中的多边形与多边形是否相交 我在项目中具体的需求就是如此 需要过滤某个区域的瓦片地图 先把瓦片地图反向解析成Envolope 然后和该区域进行比对 再做其他处理 其实在已经有开源的
  • 自己动手实现一个《倒水解密》游戏

    本文所有源代码和VisualStudio2010 NET Fx 2 0 工程打包在本文最后下载 别找我要源码 一概不理会 倒水解密 是一款很不错的手机益智类游戏 游戏界面如下 规则是这样的 有N个容量不同的瓶子 指定 将a升水倒入容量为b的
  • 从学术到实践,“学院派”崔宇的区块链破壁之道

    如何将爱好变成事业 崔宇做到了 作为北方工业大学信息学院的学生 崔宇是一个狂热的技术爱好者 为了时刻紧跟技术的发展 他关注量子密码 元宇宙等前沿领域的研究 当被问及业余爱好的时候 崔宇的回答是 没有 唯一的 爱好 是 写编译器 在开源社区
  • Python——hashlib

    hashlib模块 hashlib是一个提供字符加密功能的模块 包含MD5和SHA的加密算法 具体支持md5 sha1 sha224 sha256 sha384 sha512等算法 该模块在用户登录认证方面应用广泛 对文本加密也很常见 模块
  • jni编写时的教训(函数签名不对应)

    最近由于项目结构上的调整 原先我的模块位于APP层 通过aidl hidl调用到native层的c 的服务的接口 用于更新EMMC上的文件内容 需要改为 C 服务更新EMMC上文件内容的代码封装成jni的so库 由我的模块去调用 由于jni
  • Python---字典添加元素

    1 8 5 cvar 字典 特点 1 符号 2 关键字 dict 3 保存元素是 key value 一对 定义 dict1 空字典 dict2 dict 空字典 dict3 ID 123156489795 name lucky age 1
  • VUE---7.事件&循环

    目录 一 事件 二 按键 1 按键修饰符 内置 2 自定义修饰符 event key 3 系统修饰符 4 组合修饰符 三 循环 一 事件 1 绑定事件 2 event事件对象 3 修饰符 stop 阻止冒泡 prevent 阻止默认事件 c
  • 华为服务器近端连接显示绿屏,故障诊断说明 - 华为服务器 iMana 200 用户指南 26 - 华为...

    MCE Error Diagnose DIMMxxx memory fault is doubted of this error Error Handling Suggestion Please shut down system and c
  • Rancher2.x入门教程

    1 x教程请参考上篇 容器管理Rancher1 x及监控工具入门 1 简介 为了更好的管理Kubernetes Rancher的大部分功能经过重新设计 并且Rancher2 0延续了大多数1 0版本的友好功能 如简洁的UI和应用商店等 2
  • nohup和screen的比较

    在实际工作中 我们ssh等到远程的Linux上 运行一个程序 但是当我们关闭掉我们的连接终端断开ssh后 刚才运行着的程序也会自动被中断结束 当ssh连接断开后 如何让我们的程序继续在后台运行呢 下面介绍我常使用的两个方法 A 使用nohu