首页
学习
活动
专区
圈层
工具
发布

linux 后台运行进程:& , nohup

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。...为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。...,终端被该作业占据;可以在命令后面加上& 实现后台运行。...如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中: command > out.file 2>&1 & 这样,所有的标准输出和错误输出都将被重定向到一个叫做out.file...在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。

7.9K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux系统后台运行进程原理

    这篇文章给大家分享的是“Linux系统后台运行进程原理”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。...在Linux下,后台执行跟windows就有写区别了,因为,我们后台执行的程式主要是通过php.exe文件通过system来实现的,但在linux下,没有php.exe文件,但是在"/usr/bin/php...8 $p = "/usr/bin/php"; } else{ $document_root = 在Linux下,后台执行跟windows就有写区别了,因为,我们后台执行的程式主要是通过php.exe...$class." "); 关于“Linux系统后台运行进程原理”就介绍到这了。...免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容

    1.6K20

    Linux 进程后台运行的几种方式(screen)

    Ctrl+z/bg/nohup/setsid/& 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: ....如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1):对于已经在前台执行的命令,也可以重新放到后台执行,首先按...ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:bg %1,放回前台运行:%1。...上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?...另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。 在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。

    4.7K00

    如何使程序在Linux后台运行

    那现在程序在后台运行了,我们怎么找到它呢?很简单,有两种方法: 1. jobs命令 jobs命令可以查看当前有多少在后台运行。...但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。...◆ ◆ ◆ ◆ ◆ nohup命令来避免程序中断 在命令的末尾加个&符号后,程序可以在后台运行,但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。...实际上,这种需求在十分很常见,比如想远程到服务器编译软件或者需要长时间的运行一个程序,但网络不稳定,一旦掉线就中止了,很浪费时间。 在这种情况下,我们就可以使用nohup命令。...PS: 还有一种也很常见的避免中断的方法,就是使用screen命令,它能够在一个真实终端下运行伪终端,我们可以在这个伪终端里面为所欲为,再也不用担心网络中断会对我们的进程造成影响,也不用给每个命令前都加上

    10.6K20

    【DB笔试面试530】在Oracle中,有哪些重要后台进程?

    ♣ 题目部分 在Oracle中,有哪些重要后台进程? ♣ 答案部分 对于后台进程,首先需要掌握3个概念:后台进程、服务器进程和用户进程,它们之间的关系如下图: ?...它可以与Oracle DB在同一台计算机上,也可以在远程客户机上利用网络来访问Oracle DB。用户进程首先与一个监听程序进程通信,在专用环境中该进程会创建一个服务器进程。...后台进程是Oracle实例的核心。后台进程可以通过命令“ps -ef|grep ora_”来查询。 服务器进程和后台进程可以统称为数据库进程,主要运行Oracle DB服务器代码。...在UNIX操作系统上,Oracle的后台进程对应于操作系统进程,也就是说,一个Oracle后台进程将启动一个操作系统进程;在Windows操作系统上,Oracle的后台进程对应于操作系统线程,打开任务管理器...Oracle的后台进程较多,单实例数据库的基本后台进程如下图所示: ? 下面的表格中列出了一些常见的数据库后台进程及其作用。 表 3-11 Oracle中的常见进程 ?

    1.7K30

    在 Linux or windows 上后台运行服务

    为什么写这篇文章 直接原因是: 看到今天分享的另一篇文章 - Python 一行搭建文件服务器, 然后自己在 Windows 上操作了一下,发现关闭命令行服务就停止运行了....缺点: 如果关闭命令行,服务就会自动终止,无法后台运行   3.后台运行的操作 后台运行 - 将标准输入和错误信息输出到指定文件(nohup.out) 代码如下: nohup python3 -m http.server...2>&1 & 后台运行 - 不记录 标准输入和错误信息 代码如下: nohup python3 -m http.server > /dev/null 2>&1 & 区别: 命令行中多了 ">/dev...在Linux中, /dev/null是一个特殊的设备文件,它丢弃一切写入其中的数据 查看后台运行中的服务 运行 jobs -l 命令, 即可查看后台运行的程序以及它的 pid Windows 上操作...可以在任务管理器中看到运行的python进程    以上就是今天介绍小技巧

    5K20

    如何在 Python 中启动后台进程?

    后台进程是在后台运行的程序或任务,它们不会阻塞主程序的执行,并可以在后台处理一些耗时或周期性的任务。在本文中,我们将探讨如何在Python中启动后台进程,并介绍一些内置模块和第三方库来实现这一目标。...使用内置模块启动后台进程Python提供了一些内置模块,可以用于启动后台进程。以下是其中一些常用的模块:subprocess模块subprocess模块允许你在Python中启动外部进程。...案例3:长时间运行的任务有些任务需要较长的时间才能完成,如爬取大量网页数据或训练复杂的机器学习模型。将这些任务放在后台进程中运行可以确保主程序的响应性。...主程序在启动后台进程后继续执行。结论在本文中,我们讨论了如何在Python中启动后台进程。...我们还介绍了进程间通信和数据共享的机制,如队列和共享内存。在案例研究中,我们探讨了几个实际应用场景,展示了如何使用后台进程来处理定时任务、并发处理和长时间运行的任务。

    2K00

    如何在 Python 中启动后台进程?

    后台进程是在后台运行的程序或任务,它们不会阻塞主程序的执行,并可以在后台处理一些耗时或周期性的任务。在本文中,我们将探讨如何在Python中启动后台进程,并介绍一些内置模块和第三方库来实现这一目标。...使用内置模块启动后台进程Python提供了一些内置模块,可以用于启动后台进程。以下是其中一些常用的模块:subprocess模块subprocess模块允许你在Python中启动外部进程。...案例3:长时间运行的任务有些任务需要较长的时间才能完成,如爬取大量网页数据或训练复杂的机器学习模型。将这些任务放在后台进程中运行可以确保主程序的响应性。...主程序在启动后台进程后继续执行。结论在本文中,我们讨论了如何在Python中启动后台进程。...我们还介绍了进程间通信和数据共享的机制,如队列和共享内存。在案例研究中,我们探讨了几个实际应用场景,展示了如何使用后台进程来处理定时任务、并发处理和长时间运行的任务。

    4.3K40

    分析运行中的 Python 进程

    在 Java 中打印当前线程的方法栈,可以用 kill -3 命令向 JVM 发送一个 OS 信号,JVM 捕捉以后会自动 dump 出来;当然,也可以直接使用 jstack 工具完成,这些方法好几年前我在这篇性能分析的文章中介绍过...现在工作中我用的是 Python,需要线上问题定位的缘故,也有了类似的需求——想要知道当前的 Python 进程 “在干什么”。但是没有了 JVM 的加持,原有的命令或者工具都不再适用。...signal 在代码中,我们可以使用 signal 为进程预先注册一个信号接收器,在进程接收到特定信号的时候,可以打印方法栈: import traceback, signal class Debugger...strace 如果进程已经无响应了,或者上面的信号接收器没有注册,那么就要考虑别的方法来或者 “进程在干什么” 这件事情了。...在 iOS 下,没有 strace,但是可以使用类似的(更好的)命令 dtruss。

    1.5K30

    Linux 让进程在后台可靠运行的几种方法

    场景 思考三个问题: 想让进程在断开连接后依然保持运行? 如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作?...我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。...灵活运用 CTRL-z 在我们的日常工作中,我们可以用 CTRL-z 来将当前进程挂起到后台暂停运行,执行一些别的操作, 然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台...这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。...但是还有一个问题,这种方法的操作对象是作业,如果我们在运行命令时在结尾加了”&”来使它成为一个作业并在后台运行,那么就万事大吉了,我们可以通过jobs命令来得到所有作业的列表。

    1.4K20
    领券