首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在没有pid的unix机器上无限期关闭后台运行的进程?

在没有PID的UNIX机器上无限期关闭后台运行的进程,可以通过以下步骤实现:

基础概念

在UNIX系统中,进程ID(PID)是唯一标识一个进程的数字。通常,我们使用kill命令结合PID来终止进程。但在没有PID的情况下,我们需要通过其他方式来识别和终止进程。

相关优势

  • 灵活性:即使没有PID,我们仍然可以通过进程名或其他属性来终止进程。
  • 适用性:适用于无法获取PID的场景,如系统重启后PID发生变化。

类型

  • 通过进程名终止进程:使用pkillkillall命令。
  • 通过其他属性终止进程:如用户、组、启动时间等。

应用场景

  • 系统维护时需要终止某些长时间运行的进程。
  • 进程启动时没有记录PID,但需要终止该进程。

解决方法

方法一:使用pkill

pkill命令可以根据进程名来终止进程。

代码语言:txt
复制
pkill -9 进程名

例如,要终止名为myprocess的进程:

代码语言:txt
复制
pkill -9 myprocess

方法二:使用killall

killall命令也可以根据进程名来终止进程。

代码语言:txt
复制
killall -9 进程名

例如,要终止名为myprocess的进程:

代码语言:txt
复制
killall -9 myprocess

方法三:通过其他属性终止进程

如果需要根据其他属性(如用户、组)来终止进程,可以使用pgrep结合kill命令。

例如,要终止所有属于myuser用户的进程:

代码语言:txt
复制
kill -9 $(pgrep -u myuser)

可能遇到的问题及解决方法

问题:进程名不唯一

如果系统中存在多个同名进程,pkillkillall会终止所有匹配的进程。如果只想终止特定的进程,可以使用更精确的匹配条件。

例如,通过进程启动时间来终止进程:

代码语言:txt
复制
kill -9 $(ps -eo pid,comm,start --sort=start_time | awk '/myprocess/ {print $1}')

问题:权限不足

如果当前用户没有权限终止某个进程,可以使用sudo提升权限。

例如:

代码语言:txt
复制
sudo pkill -9 myprocess

参考链接

通过以上方法,可以在没有PID的情况下无限期关闭后台运行的进程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java“魔法”-jstack命令解析

Java进程Id的查询也可以使用如: ps -ef | grep java 需说明一下:jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。...常用命令: # 查看 java 进程,显示 pid,完整包名以及 main 函数参数 jps -ml # 查看Java进程对应的给JVM的参数 jps -v # 根据 name 查找 java 进程 jps...线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。...jstack命令主要用来查看Java线程的调用堆栈的,可以用来分析线程问题(如死锁)。...线程状态 线程在运行的过程中,会在几种状态中进行切换,我们可以用jstack命令查看线程堆栈信息时,可能会看到的线程的几种状态,了解这些线程的状态,方便后续对于具体问题的排查和解决。

77120

Linux内核编程--进程组和守护进程

、终端产生信号等发生任何不期望的交互,也可以避免在后台运行的守护进程非预期地输出到终端。...守护进程的特点: 无需控制终端 运行在后台 一般随操作系统启动和关闭 守护进程运行在后台,但是和后台进程有一定区别: (1)守护进程和终端不挂钩,不向终端输出内容(信息),但后台进程是能向终端输出内容的...(如使用printf语句,后台进程可以将内容输出到屏幕上)。...(2)守护进程在关闭终端(比如Xshe11)的时候不会受到影响,而后台进程将在终端关闭后自动退出。 守护进程的启动方式: 1.在系统启动阶段,由系统初始化脚本启动。...该函数返回时,父进程实际上是上一次调用fork产生的子进程。然后这个父进程被终止,留下新的子进程继续运行。

3K20
  • Linux ps 命令用法详解

    在 Linux 中,程序的运行实例称为进程。有时,在 Linux 机器上工作时,您可能需要找出当前正在运行的进程。...在本文中,我们将讨论如何在Linux中使用该 ps 命令列出当前正在运行的进程并显示有关这些进程的信息。...在没有任何选项的情况下使用它是最简单的形式, ps 将打印四列信息,用于在当前 shell 中运行的最少两个进程, shell 本身以及在命令时在 shell 中运行的进程。...PID - 进程 ID 。在大多数情况下,当运行 ps 命令时,用户正在寻找的最重要信息是过程 PID 。了解 PID 可以消除故障过程。 TTY - 进程控制终端的名称。...的 u 代表,其提供了有关过程的详细信息的用户为导向的格式。 该 x 选项将 ps 在没有控制终端的情况下列出进程。这些主要是在启动时启动并在后台运行的进程。

    4.3K20

    史上最全Linux服务器程序规范

    ———引 Linux服务器程序一般以后台形式运行。后台程序又称守护进程。它没有控制终端,因而也不会意外接受用户输入。守护进程的父进程一般是init进程(pid=1)。...Linux服务器程序一般以某个专门的非root身份运行。mysqld, httpd, syslogd等后台进程,并分别有自己的运行账户mysql, apache, syslog。...绝大多数服务器程序都有配置文件并存放在/etc下 Linux服务器程序通常在启动时生成一个PID文件并存入/var/run目录中,以记录该后台进程的PID。...用户进程时通过调用syslog函数生成系统日志的。 该函数将日志输出到一个unix本地域socket类型(AF_UNIX)的文件/dev/log中,rsyslogd则监听该文件以获取用户进程的输出。...所以可以利用早先打开的文件描述符来访问调用chroot之后不能直接访问的文件(目录). 06 服务器程序后台化 最后,如何在代码中让一个进程以守护进程的防止运行,守护进程的编写遵循一定的步骤,下面一个实例

    1.9K60

    【小家运维】达到Linux第三阶段的常用命令笔记记录—Part Ⅲ

    当然还包括我们的Java Web服务,它的线程需要一直运行着~~~ 为何关闭窗口/断开链接,正在运行的程序会死掉?...Linux/Unix中有一个分厂重要的概念:会话 会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。...在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。...虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的 & 最经常被用到:这个用在一个命令的最后,可以把这个命令放到后台执行 ctrl + z:可以将一个正在前台执行的命令放到后台,并且暂停 jobs...如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) bg 将进程搬到后台运行(Background

    1.9K20

    运维人必收藏的最全Linux服务器程序规范

    除了网络通信外,服务器程序还必须考虑许多其他细节问题,零碎,但基本上都是模板式的。 Linux服务器程序一般以后台形式运行。后台程序又称守护进程。它没有控制终端,因而也不会意外接受用户输入。...大部分后台进程都在/var/log下有自己的日志目录。 Linux服务器程序一般以某个专门的非root身份运行。...Linux服务器程序通常在启动时生成一个PID文件并存入/var/run目录中,以记录该后台进程的PID。...用户进程时通过调用syslog函数生成系统日志的。 该函数将日志输出到一个unix本地域socket类型(AF_UNIX)的文件/dev/log中,rsyslogd则监听该文件以获取用户进程的输出。...所以可以利用早先打开的文件描述符来访问调用chroot之后不能直接访问的文件(目录). 06 服务器程序后台化 最后,如何在代码中让一个进程以守护进程的防止运行,守护进程的编写遵循一定的步骤,下面一个实例

    1.2K00

    万字长文揭秘37手游的自研任务调度平台

    后台复制配置修改进程启动参数,提交即调度。 为了更好地应对业务发展的需求,37 手游开始逐步上云。...二、任务部署问题 单个任务只能与单台机器 IP 绑定,无法做到 IDC 上云(双云)、双云切换(需要支持机房一键切换) 原任务部署为 IDC 双机房,上云的过程,任务需要独立配置一条云上的机器...每个进程都使用了一个 goroutine 等待进程退出,避免子进程挂掉又没有回收资源,产生大量的僵尸进程,耗尽系统进程号。 而进程启动后,会向中控后台回传 PID 号,持久化数据库中。...对于开发来说,很多时候出现问题,他也不需要 ssh 上机器了,只需在后台即可检查自己的服务有没有异常。 进程信息怎么拿?...选点上,如果用户交给调度器,调度器会优先选择节点池负载最低的机器执行任务; 记录进程的选点信息,上次执行的时间、PID 等信息; 如果上次任务没跑完,这次就不会触发了(防雪崩),否则永远跑不完,机器迟早得宕机

    65831

    网站功能——使用 Supervisor 部署 Django 应用程序

    关于 Supervisor 初识 Supervisor Supervisor是一个用于进程管理的开源工具,通常用于在Unix和类Unix系统上监控和控制进程的运行。...它提供了一个简单而强大的方式来管理后台进程,例如Web服务器、任务队列、应用程序等。...它被广泛应用于Web服务器(如Nginx、Apache)、应用程序框架(如Django、Flask)、队列处理(如Celery)等场景,以确保关键进程的稳定运行和自动恢复。...总而言之,Supervisor是一个可靠而灵活的进程管理工具,它简化了在Unix系统上管理和监控后台进程的任务,提供了更好的稳定性和可管理性。...这个时候如果没有问题可以看到后台有个 gunicorn 进程在运行,也就是 django 在运行。 更新配置 涉及配置变动,需要更新。

    66920

    Go 如何实现热重启

    单进程单线程,实现热重启会比较简单些: fork 一下就可以创建出子进程, 子进程可以继承父进程中的资源,如已经打开的文件描述符,包括父进程的 listenfd、connfd, 父进程,可以选择关闭 listenfd...比如我开启了 reuseport,父进程直接处理完已建立连接 connfd 上的请求之后关闭,子进程里 reuseport.Listen 直接创建新的 listenfd。 也可以!...父进程平滑退出的逻辑,关闭 listenfd,等待 connfd 上请求处理结束,关闭 connfd,一切妥当后,父进程退出,子进程挑大梁! 5....= nil {     panic(err)    }    // 这里pause, 运行命令lsof -P -p $pid,检查下有没有listenfd传过来,除了0,1,2,应该有看到3    /...如果有服务混布的情况存在,需要考虑下使用的 unix domain socket 的文件名,避免因为重名所引起的问题,可以考虑通过”进程名.pid“来作为 unix domain socket 的名字,

    2.6K63

    linux 后台运行进程:& , nohup

    为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。...在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。...(ps -ef | grep 进程号 或者 kill -9 进程号) nohup 使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。...,不以终端机来区分 关闭当前后台运行的程序 kill 通过jobs命令查看job号(假设为num),然后执行kill %num 通过ps命令查看job的进程号(PID,假设为pid),然后执行kill...因为他们的程序特殊,比如httpd –k start运行这个以后,他不属于sshd这个进程组 而是单独的进程组,所以就算关闭了ssh,和他也没有任何关系!

    4.8K40

    守护进程 Daemon 是什么?

    什么是守护进程? 守护进程(Daemon) 是一种在后台运行的特殊进程, 它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统启动时开始运行, 在系统关闭时才结束。...它们为系统提供了各种各样的服务, 是现代操作系统中不可或缺的组成部分。 守护进程的特征 生存期长: 通常在系统启动时创建, 系统关闭时才结束。 在后台运行: 没有控制终端, 不与用户直接交互。...脱离控制终端: 不受终端登出、关闭等操作的影响。 通常以超级用户(root) 权限运行。 周期性执行任务或等待响应某些事件。...守护进程的管理 在 Unix/Linux 系统中, 有多种方法可以管理守护进程: 系统启动脚本: 通过/etc/init.d/目录下的脚本启动和停止守护进程。...Service 守护进程的调试 调试守护进程可能比调试普通进程更具挑战性,因为它们在后台运行且没有控制终端。

    14810

    Python创建daemon

    参考《Linux/Unix 系统编程手册》     变成daemon,一个程序需要完成以下步骤:     1、执行一个fork(),父进程退出,子进程继续执行。...(daemon成为了init进程的子进程)       --假设daemon是从命令行启动,父进程的终止会被shell发现,之后shell会显示出另一个shell提示符并让子进程在后台运行;     -...创建文件和目录时拥有必要的权限)     5、修改进程当前工作目录(通常改为根目录 /,保证根目录的文件系统不会被卸载即可,如:cron会将自身放在/var/spool/cron 目录下)     6、...关闭daemon从父进程继承而来的所有打开着的文件描述符(由于daemon失去了控制终端,对0,1,2描述符完全可以关闭;无法卸载长时间运行的daemon打开的文件所在的文件系统----文件描述符是一种有限资源...)     7、关闭0,1,2文件描述符后,daemon通常会打开/dev/null,并让所有描述符都指向该设备     --这样确保了当daemon调用在这些文件描述符上执行IO的库函数时不会出乎意料的失败

    77610

    Supervisor使用详解

    :uid:gid ;[inet_http_server] ;HTTP服务器,提供web管理界面 ;port=127.0.0.1:9001 ;Web管理后台运行的IP和端口...-c /etc/supervisord.conf command中指定的进程已经起来,但supervisor还不断重启 问题描述:command中启动方式为后台启动,导致识别不到pid,然后不断重启...,这里使用的是elasticsearch,command指定的是$path/bin/elasticsearch -d 解决办法:supervisor无法检测后台启动进程的pid,而supervisor...本身就是后台启动守护进程,因此不用担心这个 启动了多个supervisord服务,导致无法正常关闭服务 问题描述:在运行supervisord -c /etc/supervisord.conf之前...,直接运行过supervisord -c /etc/supervisord.d/xx.conf导致有些进程被多个superviord管理,无法正常关闭进程。

    73520

    linux系统编程之进程(五):终端、作业控制与守护进程

    默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出都指向控制终端,进程从标准输入读也就是读用户的键盘输入,进程往标准输出或标准错误输出写也就是输出到显示器上。...(虚拟终端,直接外设输命令) 二、作业控制 事实上,Shell分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group)。...一旦作业运行结束,Shell就把自己提到前台,如果原来的前台进程组还存在(如果这个子进程还没终止),则它自动变成后台进程,被init进程接管。...三、守护进程 守护进程是在后台运行不受终端控制的进程,通常情况下守护进程在系统启动时自动运行,用户关闭终端窗口或注销也不会影响守护进程的运行,只能kill掉。...实际上一般的进程(前后台) 在关闭终端窗口后,会收到 SIGHUP 信号导致中断,可以使用 nohup command  args > /dev/null 2>&1 & 来忽略 hangup 信号,或者直接使用

    2.7K90

    linux 后台运行方法总结

    实现方式 实现进程免受终端SIGHUP信号影响的原理主要有两种: 使进程屏蔽SIGHUP信号,如nohup 使进程脱离当前终端,这样当前终端的SIGHUP信号自然不会引起进程中断,如disown,setsid...当前台已经执行任务时,使用Ctrl z将当前进程挂起到后台暂停运行,使用bg %1命令使后台挂起命令继续运行,再使用disown -h %1使进程忽略SIGHUP信号。...另,使用 disown %1 也可达到相同效果,不过当前任务会从任务列表移除,但仍可以通过ps查看进程 Tips: 在我们的日常工作中,我们可以用 Ctrl z 来将当前进程挂起到后台暂停运行,执行一些别的操作...,然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台)继续运行。...这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。

    3.8K20

    Linux系统--Linux进程与作业管

    ,以实现对进程管理: 显示当前系统可用信号: kill -l man 7 signal 常用的信号: 1) SIGHUP: 无须关闭进程而让其重读配置文件; 2) SIGINT: 中止正在运行的进程;相当于...终止“名称“之下的所有进程 killall [signal] program 6.Linux的作业控制: 前台作业:通过终端启动,且启动后一直占据终端; 后台作业:可以通过终端启动,但启动后即转入后台运行...(释放终端); 如何让作业运行于后台?...(1) 运行中的作业 Ctrl+z (2) 尚未启动的作业 # COMMAND & 此类作业虽然被送往后台运行,但其依然与终端相关;如果希望送往后台后,剥离与终端的关系: # nohup COMMAND...]:终止指定的作业; 7.进程优先级的调整: 进程优先级的调整,是调整静态优先级:100-139 进程默认启动时的nice值为0,优先级为120 如:我们运行top命令,来查看其的优先级: ?

    1.4K30

    ubuntu supervisor管理uwsgi+nginx

    一、概述 superviosr是一个Linux/Unix系统上的进程监控工具,他/她upervisor是一个Python开发的通用的进程管理程序,可以管理和监控Linux上面的进程,能将一个普通的命令行进程变为后台...不过同daemontools一样,它不能监控daemon进程(也就是后台进程) 二、安装 apt-get install -y supervisor 安装成功后,会在/etc/supervisor目录下...这是2个比较关键的进程,任意一个进程死掉,都会导致网页无法访问。 修改uwsgi配置 关闭后台运行,为什么呢?.../uwsgi.ini ;启动命令 autostart = true     ; 在 supervisord 启动的时候也自动启动 startsecs = 5        ; 启动 5 秒后没有异常退出...,这个参数的意思是在前台运行。

    1.3K20

    进程组、会话、控制终端概念,如何创建守护进程?

    Linux系统有很多守护进程,大多数服务都是用守护进程实现的。比如:像我们的tftp,samba,nfs等相关服务。 UNIX的守护进程一般都命名为*d的形式,如httpd,telnetd等等。...生命周期: 守护进程会长时间运行,常常在系统启动时就开始运行,直到系统关闭时才终止。 守护进程不依赖于终端 从终端开始运行的进程都会依附于这个终端,这个终端称为这些进程的控制终端。...从这点上看,进程组不是进程的概念,而是shell上才有,所以在task_struct里并没有存储进程组id之类的变量。 进程组的生命周期到组中最后一个进程终止或其加入其他进程组(离开本进程组)为止。...对于输出(Output)来说,则是在前台和后台共享的,即前台和后台的打印输出都会显示在屏幕上。...由于在进程运行过程中,当前目录所在的文件系统(如“/mnt/usb”等)是不能卸载的,这对以后的使用会造成诸多的麻烦(如系统由于某种原因要进入单用户模式)。

    1.5K20

    一条502报警引发的胡思乱想

    fpm的错误日志、慢日志,也没有什么收获(此处很可能会忽略掉了重要信息) 蛛丝马迹 于是既然认为是fpm出了问题,就调研下fpm的配置文件吧 pid = /usr/local/var/run/php-fpm.pid...0 表示 '关闭该功能'. 默认值: 0 (关闭). process_control_timeout = 0 #设置子进程接受主进程复用信号的超时时间....默认值: 0. daemonize = yes #后台执行fpm,默认值为yes,如果为了调试可以改为no。在FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。...可用格式为: 'ip:port', 'port', '/path/to/unix/socket'. 每个进程池都需要设置。如果nginx和php在不同的机器上,分布式处理,就设置ip这里就可以了。...user = www group = www #启动进程的用户和用户组,FPM 进程运行的Unix用户, 必须要设置。用户组,如果没有设置,则默认用户的组被使用。

    63650

    Linux守护进程的编程实现

    比方,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,复杂的是各种版本号的Unix的实现机制不尽同样,造成不同Unix环境下守护进程的编程规则并不一致。...守护进程及其特性 守护进程最重要的特性是后台执行。在这一点上DOS下的常驻内存程序TSR与之类似。其次,守护进程必须与其执行前的环境隔离开来。...总之,除开这些特殊性以外,守护进程与普通进程基本上没有什么差别。因此,编写守护进程实际上是把一个普通进程依照上述的守护进程的特性改造成为守护进程。...对于须要转储核心,写执行日志的进程将工作文件夹改变到特定文件夹如/tmpchdir(“/”) 6. 重设文件创建掩模 进程从创建它的父进程那里继承了文件创建掩模。...; int i; if(pid=fork()) exit(0);//是父进程,结束父进程 else if(pid< 0) exit(1);//fork失败,退出 //是第一子进程,后台继续执行

    2.4K20
    领券