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

linux 后台运行进程:& , nohup

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。...为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。...(ps -ef | grep 进程号 或者 kill -9 进程号) nohup 使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。...在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。...这样的命令 一旦使用了 就是守护进程运行。

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

    【Linux】进程状态&&僵尸进程和孤儿进程&&阻塞、挂起和运行

    前言 上一篇博客中提到 【Linux】进程初步理解,这次继续来分享与进程有关的知识。 2. Linux的进程状态 Linux的进程状态就是struct task_struct内部的一个属性。...为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态。一个进程可以有几个状态(在Linux内核里,进程有时候也叫做任务)。...T停止状态(stopped):可以通过发送SIGSTOP信号给进程来停止(T)进程。这个被暂停的进程可以通过发送SIGCONT信号让进程继续运行。...让进程自己醒来;2. 重启–断点 3. 僵尸进程和孤儿进程 3.1 僵尸进程 Linux中一个进程的退出,它会将自己的退出信息保留在自己的PCB中。...一个进程一旦持有CPU,会一直只运行这个进程吗? 不会,进程基于时间片进行轮转调度的。(而Linux中并不是以这种方法调度的,在之后的博客中会提到,请多多关注。)

    1.7K10

    Linux系统后台运行进程原理

    这篇文章给大家分享的是“Linux系统后台运行进程原理”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。...在Linux下,后台执行跟windows就有写区别了,因为,我们后台执行的程式主要是通过php.exe文件通过system来实现的,但在linux下,没有php.exe文件,但是在"/usr/bin/php...所以,我们后台执行的程式可以这样修改,实用于linux和windows: $now_os = PHP_OS; if ($now_os == 'Linux'){// this is for Fedora...文件通过system来实现的,但在linux下,没有php.exe文件,但是在"/usr/bin/php“实际上就是windows里的php.exe。...$class." "); 关于“Linux系统后台运行进程原理”就介绍到这了。

    1.8K20

    批量启动停止Java进程

    java进程管理程序 命名:jmanager 主要功能:保存当前主机所有Java进程信息,停止Java进程,启动Java进程 解决的问题: 公司目前测试环境只有几台虚拟机,没有进行容器化管理,系统采用分布式架构...一旦虚拟机重启或者故障就要适用Jenkins重启打包部署非常耗时和麻烦,遂编写该脚本用于定时抓取Java进程启动信息, 一旦出现故障,可以批量停止Java进程或者批量启动Java进程。...适用环境: linux系统并已安装python3,可以执行jps命令 如何安装: git clone https://github.com/mudiyouyou/jmanager.git 安装如下python...,产生以当前日志命名的进程数据文件 python3 main.py stop xxxx.json 解释:关闭所有Java进程 xxxx.json 为第一步产生的数据文件 python3 main.py...start xxxx.json 解释:启动所有Java进程 xxxx.json 为第一步产生的数据文件 该脚本适用于所有java程序,可以安装在其他环境,但该脚本不负责程序启动或者停止顺序

    2.5K20

    【Linux】:进程信号(详谈信号捕捉 & OS 运行)

    在一些情况下,进程调度发生时,当前进程可能仍然继续运行,不需要进行实际的进程切换 本质:让当前进程的时间片进行 --,每个进程执行一段时间后,操作系统会中断其执行并切换到下一个进程,直到进程的时间片耗尽...对于任何其它的任务,'pause()'将意味着我们必须等待收到一个信号才会返回就绪运行态, * 但任务0(task0)是唯一的意外情况(参见'schedule()'),因为任务0 在任何空闲时间里...那是因为 Linux 的 gnu C 标准库,给我们把几乎所有的系统调用全部封装了。...程序通过 int 0x80 中断来触发系统调用,系统调用号通过 eax 寄存器传递 ② 在现代的 64 位架构中(如 x86_64),通常使用 syscall 指令,并通过寄存器传递系统调用号和参数 在 Linux...例如,在 Linux 操作系统中,通过启用某些功能(如页表共享)来加速内核与用户空间之间的切换。 共享内存:用户空间和内核空间共享一部分页表时,可以通过共享内存区域实现。

    1.6K10

    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 w 显示所有窗口列表 C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。

    5.1K00

    Linux运行与控制后台进程的方法

    我们经常会碰到这样的问题,用ssh登录了远程的Linux服务器,运行了一些耗时较长的任务,结果却由于网络等的不稳定导致任务中途失败。...解决办法有两种:让进程忽略HUP信号,或让进程运行在新的会话里从而成为不属于此终端的子进程。...下面是对Linux下运行与控制后台进程的各种方法的介绍: 1.nohup 顾名思义,nohup的用途就是让提交的命令忽略所有的hangup信号。...将当前正在前台运行的进程放到后台运行: 先敲下快捷键:ctrl +z //暂停当前正在运行的进程。...使用方法: 将当前正在前台运行的进程放到后台运行; 然后执行disown -h %{jobid} //这里的{jobid}是通过jobs命令中看到的进程前[]中的数字。

    3K20

    golang子进程的启动和停止,mac与linux的区别

    今天接到一个任务是将原来运行在mac的应用移植到linux,原因当然是因为客户那边当前是linux环境,也不想再采购mac电脑。...跟想象中的也差不多,搭建好linux测试服务器,在mac上把运行很久的应用重新交叉编译了一遍,部署到linux实验环境,启动、测试,看起来一切正常。准备打包交活,这时候发现一个问题,程序无法终止。...简单调试后就找到了原因,在系统中启动的子进程,发出终止信号之后居然仍在运行,导致父进程也一直无法退出,尴尬了。...这段代码启动子进程和关闭子进程在mac电脑的原有系统上工作都很正常,但是到了linux,启动子进程仍然没有问题,关闭子进程不成功。...而发出退出命令的时候,只有sh退出了,sleep进程仍然继续运行。对比同样的mac电脑上,sh进程是没有出现的,只有一个sleep进程,所以发出退出命令的时候,sleep正常关闭,系统表现正常。

    5.4K50

    如何优雅地停止Java进程

    目录 理解停止Java进程的本质 应该如何正确地停止Java进程 如何注册关闭钩子 使用关闭钩子的注意事项 信号量机制 总结 理解停止Java进程的本质 我们知道,Java程序的运行需要一个运行时环境...因此,所谓停止Java进程,本质上就是关闭JVM。 那么,哪些情况会导致JVM关闭呢? ? 应该如何正确地停止Java进程 通常来讲,停止一个进程只需要杀死进程即可。...3.关闭钩子执行过程中可能被强制打断,比如在操作系统关机时,操作系统会等待进程停止,等待超时,进程仍未停止,操作系统会强制的杀死该进程,在这类情况下,关闭钩子在执行过程中被强制中止。...实际上,大多数情况下的进程结束操作通常是在进程运行过程中需要停止进程或者重启进程,而不是等待进程自己运行结束(服务程序都是一直运行的,并不会主动结束)。...,Linux使用SIGTERM)。

    7.7K31

    【Linux篇】进程运行行云流水的秘密---进程控制

    如果父进程的某些数据是只读的,那子进程就没必要在拷贝一份,只需要拷贝自己需要的数据就行,减少了内存的浪费 进程终止 进程退出场景 代码运行完毕,结果正确 代码运行完毕,结果异常...代码异常终止 之前写的c\c++程序,main函数的返回值是有含义的 在我们自己写的程序中,main函数并不是第一个被调用的程序,第一个被调用的程序在vs下是crtstart(),linux下是...mian函数的返回值实际上是进程退出时的退出码 在Linux下我们可以打印查看main函数的返回值 echo $?:打印最近一个进程退出时的退出码 ?...:退出符 若main函数的退出码是1,运行完后,echo ?查看退出码看到的是1,若在运行一次echo ?...("我要开始运行的了\n"); execl("/usr/bin/ls","ls","-l","-a",NULL);

    71610

    Tomcat进程意外退出,元凶居然是他...

    作者 | 宏江 出品 | 并发编程网(ifeve.com) 节前某个部门的测试环境反馈tomcat会意外退出,我们到实际环境排查后发现不是jvm crash,日志里有进程销毁的记录,从pause到destory...那就只剩下Signal的情况了;经过一番排查后,发现每次tomcat意外退出的时间与ssh会话结束的时间正好吻合。.../bin/sh sleep 4400 & echo "shell exit" 运行a.sh脚本之后,sleep 4400进程的pid与pgid是不同的,pgid是其父进程的id,即已经退出了的a.sh...还是比较好理解的,举例来说,我们先某个前台进程运行时间太长,可以ctrl-z中止一下,然后通过bg %n把这个进程放入后台,同样也可以把一个cmd &方式启动的后台进程,通过fg %n放回前台,然后在ctrl-c...停止它,当然不能忽略SIGINT。

    4.7K10

    在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)

    前言: 在默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。不过,我们可以配置该守护进程,以便在该守护进程不可用时容器仍在运行。这种功能称为实时恢复。...实时还原选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。...在 Linux 上,默认的配置文件为/etc/docker/daemon.json vim /etc/docker/daemon.json { "live-restore": true } 2.Docker...SIGHUP $(pidof dockerd) 3.检查上面的配置是否成功 docker info | grep -i live 4.重启Docker,此时重启Docker时就容器就不会停止了...1小时、32分钟,容器并没有在我们重启Docker时停止,而是一直保持运行状态 。

    7.2K20
    领券