nohub 和 & 在linux上不间断后台运行程序

2023-05-16

1.nohub(没安装的要先安装)

用途:不挂断地运行命令

语法:nohup Command [ Arg … ] [ & ]

无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。

如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:   

2.&

用途:在后台运行

3.查看进程

jobs命令

只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令),或者查看GPU进程

 jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

ps命令

功能:查看当前的所有进程

 ps -aux | grep "test.sh"    #a:显示所有程序  u:以用户为主的格式来显示   x:显示所有程序,不以终端机来区分

ps -A / ps -e //显示所有进程信息
ps -u root //显示指定用户信息
ps -ef //显示所有进程信息,连同命令行
ps -ef|grep ssh // ps 与grep 常用组合用法,查找特定进程
ps -l // 将目前属于您自己这次登入的 PID 与相关信息列示出来
ps aux | egrep '(cron|syslog)' // 找出与 cron 与 syslog 这两个服务有关的 PID 号码

sudo nvidia-smi 可以查看到在GPU上运行的进程

sudo nvidia-smi

4.nohup的重定向

以下是定义日志打印级别,除了高于级别2的告警信息记录到log文件外,其余直接不记录

//只输出错误信息到日志文件
nohup ./program >/dev/null 2>log &
//什么信息也不要
nohup ./program >/dev/null 2>&1 &

0:表示标准输入
1:标准输出,在一般使用时,默认的是标准输出
2:标准错误信息输出

3.关于/dev/null文件

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

5、关闭当前后台运行的命令

      kill命令:结束进程

     (1)通过jobs命令查看jobnum,然后执行   kill %jobnum

     (2)通过ps命令查看进程号PID,然后执行  kill %PID

       如果是前台进程的话,直接执行 Ctrl+c 就可以终止了

6、前后台进程的切换与控制

     (1)fg命令

       功能:将后台中的命令调至前台继续运行

       如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。

     (2)Ctrl + z 命令

       功能:将一个正在前台执行的命令放到后台,并且处于暂停状态

     (3)bg命令

       功能:将一个在后台暂停的命令,变成在后台继续执行

       如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。

7、top命令显示进程

性能分析工具,能够实时显示系统中各个进程资源占用状况

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

nohub 和 & 在linux上不间断后台运行程序 的相关文章

  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • Linux TUN/TAP:无法从 TAP 设备读回数据

    问题是关于如何正确配置想要使用 Tun Tap 模块的 Linux 主机 My Goal 利用现有的路由软件 以下为APP1和APP2 但拦截并修改其发送和接收的所有消息 由Mediator完成 我的场景 Ubuntu 10 04 Mach
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include

随机推荐

  • matlab 数值计算课 二阶微分方程-龙格库塔方法 & ODE45

    详见mathworks 龙格库塔方法 写成矩阵 xff08 状态方程 xff09 的形式更简洁一点 xff08 其实这两种方法结果是一样的 xff0c 如果C是 1 0 0 的话 xff0c 就很明显了 xff09 例如 xff1a 求系统
  • 第一篇simulink电路仿真

    连接一个最基本的二阶RLC震荡电阻 元器件的位置如图 xff1a RLC和电流表电压表在Simscape Foundation Library Electrical下可以找到 xff0c 如图 xff1a 单纯利用这些基本电路元件连接运行会
  • 阿里云Linux系统图形化界面

    https help aliyun com knowledge detail 41227 html
  • source devel/setup.bash bash: devel/setup.bash: No such file or directory解决方法

    看到网上一些解决方法是进入 bashrc把source opt ros kinetic setup bash这句话去掉之类的 xff0c 真是感到欲哭无泪 把这句话去掉只是让这个错误不再显示而已 xff0c 根本不能解决问题 根据报错信息很
  • 基于LQR的倒立摆控制——python代码——dlqr步骤推导

    推荐一个自动控制小车开源项目 xff1a 本文结合老王自动驾驶控制算法第五讲的离散LQR进行学习复盘 Inverted Pendulum Control PythonRobotics documentation dlqr原理 xff08 老
  • 【OpenMV小车——第1.2篇】OpenMV主控板的简介与入门使用

    前言 xff1a 视觉小车最重要的是视觉功能 xff0c 其实现方式主要有 xff1a Opencv 43 外置计算机摄像头 需要计算机作为上位机 Stm32 43 OV7670 较难 xff0c 大师级 OpenMV摄像头 较简单 xff
  • Windows 配置 C/C++ 开发环境

    文章目录 1 安装 MinGW w641 1 下载1 2 解压到合适的目录下1 3 添加到环境变量1 4 测试是否安装成功 2 安装 CMake2 1 下载2 2 解压到合适的目录下2 3 添加到环境变量2 4 测试是否安装成功 3 编译运
  • I.MX6ULL的SPI通信

    简述 SPI是串行外设接口 xff08 Serial Peripheral Interface xff09 的缩写 xff0c 相比于I2C最高400bps的传输速度 xff0c SPI每秒可以传输的数据可以高达几十M甚至上百Mbit 1
  • 信号量与互斥量的区别

    信号量 xff1a 那是多线程同步用的 xff0c 一个线程完成了某一个动作就通过信号告诉别的线程 xff0c 别的线程再进行某些动作 互斥量 xff1a 这是多线程互斥用的 xff0c 比如说 xff0c 一个线程占用了某一个资源 xff
  • C语言常用转义字符表

    C语言常用转义字符表 转义字符 xff1a 转义字符分为一般转义字符 八进制转义字符 十六进制转义字符 一般转义字符 xff1a 背诵 0 n 八进制转义字符 xff1a 141 是合法的 xff0c 前导的0是不能写的 十六进制转义字符
  • 2018年App测试流程及要点梳理

    先说说 xff0c 为什么要给大家梳理App测试流程和要点呢 xff1f 主要是缘于有太多同学咨询相关App测试的问题 xff0c 回答的次数多了 xff0c 就不想打字了 xff0c 还不如这样全部帮你们整理好 xff0c 希望各位看到的
  • 毕业设计--球上自平衡机器人

    目录 前言 一 机器人原理分析 二 控制器设计 三 程序部分 四 硬件清单 五 电路设计 六 结构设计 七 总结与展望 总结 展望 2021 8 18更新 xff1a 看到评论区很多人对这个机器人比较感兴趣 xff0c 把之前挖好的坑填一下
  • ROS入门之CmakeList.txt详讲

    本文为进来学习的总结 xff0c 记录了学习CmakeList txt文档的各个步骤 xff0c 适合从零开始理解CmakeList txt xff0c 可能存在错误之处 xff0c 望批评指正 0 Cmake的起源 为什么有CmakeLi
  • 2 如何给Gazebo中的仿真机械臂添加一个力传感器?

    1 你得有一个仿真机械臂 简单地说你首先的拥有一个能够在Gazebo当中使用的机械臂的URDF文件 xff0c 必须要包含visual collision和inertial三大标签 出于个人习惯 xff0c 这里直接使用UR官方提供的UR5
  • C#学习之事件的本质

    在注册事件时 xff0c 使用EventHandler委托 xff1b 摘要 表示将用于处理不具有事件数据的事件的方法 参数 sender 事件源 e 不包含事件数据的对象 public delegate void EventHandler
  • ..\OBJ\USART.axf: Error: L6218E: Undefined symbol I2C_CheckEvent (referred from oled_i2c.o).

    OBJ USART axf Error L6218E Undefined symbol I2C CheckEvent referred from oled i2c o OBJ USART axf Error L6218E Undefined
  • React 应用中的异步数据请求----fetch,以及fetch的优缺点

    React 应用中的异步数据请求 fetch 与Vue js一样 xff0c React官方也没有提供服务器端接口异步请求方案 xff1b 可以使用第三方的axios模块 xff0c 或者H5新增的原生技术 xff1a fetch 抓取 有
  • hmdb51数据集,视频+标签

    目录 视频下载链接 标签下载 hmdb介绍 其它 用于行为识别还需 帧标注 xff08 rawframe annotation xff09 视频标注 xff08 video annotation xff09 目录 视频下载链接 标签下载 h
  • vscode 连接服务器(Ubuntu系统),安装anaconda上运行深度学习代码

    目录 VSCODE的官网 Visual Studio Code Code Editing Redefined 1 安装 Romote SSH 2 添加服务器 3 进入服务器 4进入服务器文件 5 在Ubuntu上安装anconda xff0
  • nohub 和 & 在linux上不间断后台运行程序

    1 nohub xff08 没安装的要先安装 xff09 用途 xff1a 不挂断地运行命令 语法 xff1a nohup Command Arg amp 无论是否将 nohup 命令的输出重定向到终端 xff0c 输出都将附加到当前目录的