Questions tagged «process-management»

当主题是关于系统过程管理时,请使用此标记。例如,用于此的命令类似于ps and kill -9 xxxx和服务xyz start | stop | restart和htop。常与内存管理结合使用。

9
我什么时候不应该取消-9进程?
我总是很犹豫要运行kill -9,但是我看到其他管理员几乎都在定期运行。 我认为可能存在明智的中间立场,因此: 什么时候以及为什么要kill -9使用?什么时候,为什么不呢? 在做之前应该尝试什么? 什么样的调试“挂起”过程可能会引起更多问题?

3
Linux如何“杀死”进程?
尽管我一直从事计算机工作数十年,从事Linux已有十年,但实际上,我实际上将大多数OS功能视为黑匣子,这与魔术无异。 今天,我考虑了该kill命令,尽管我每天多次使用它(无论是“正常”还是“ -9味道”),但我必须承认我完全不知道它在后台如何工作。 从我的角度来看,如果正在运行的进程是“挂起”的,我会调用kill它的PID,然后突然不再运行。魔法! 那里到底发生了什么?联机帮助页谈论“信号”,但可以肯定,这只是一个抽象。发送kill -9到流程不需要流程的合作(例如处理信号),只是杀死了它。 Linux如何阻止进程继续占用CPU时间? 是否已将其从计划中删除? 它会断开进程与打开文件句柄的连接吗? 进程的虚拟内存如何释放? 内存中是否有类似全局表的内容,Linux保留对进程占用的所有资源的引用,而当我“杀死”进程时,Linux只是遍历该表并逐个释放资源? 我真的很想知道所有这些!


4
pkill和killall有什么区别?
我知道该pkill过滤规则比的更多killall。我的问题是,两者之间有什么区别? pkill [signal] name 和 killall [signal] name 我读过这样killall更有效,它可以杀死与name程序匹配的所有进程和子进程(以及递归地)。 pkill也不这样做吗?

2
为什么默认流程创建机制为fork?
用于进程创建的UNIX系统调用fork()通过复制父进程来创建子进程。我的理解是,几乎总是在此之后调用exec()来替换子进程的内存空间(包括文本段)。在fork()中复制父级的内存空间似乎一直对我很浪费(尽管我意识到可以通过使内存段在写入时进行复制来最小化浪费,从而仅复制指针)。无论如何,有人知道为什么流程创建需要这种重复方法吗?



6
有没有办法在Linux系统上暂停正在运行的进程并稍后恢复?
我必须在计算机上复制文件。数据非常大。现在,服务器需要正常服务,并且通常在这些服务器上有特定的繁忙时间范围。那么,是否有一种方法可以运行这种命令,如果服务器繁忙时间会暂停进程,而当服务器超出该范围时会恢复进程? 预期结果 cp src dst if time between 9:00-14:00 pause process After 14:00 resume cp command.



4
如果在执行过程中编辑脚本会怎样?
我有一个普遍的问题,这可能是对Linux中如何处理进程的误解的结果。 出于我的目的,我将定义一个“脚本”作为bash代码的片段,该片段保存到文本文件中,并且为当前用户启用了执行权限。 我有一系列脚本相互调用。为了简单起见,我将它们称为脚本A,B和C。脚本A执行一系列语句,然后暂停,然后执行脚本B,然后暂停,然后执行脚本C。换句话说,该系列步骤如下: 运行脚本A: 一系列声明 暂停 运行脚本B 暂停 运行脚本C 从经验中我知道,如果我运行脚本A直到第一次暂停,然后在脚本B中进行编辑,那么当我允许恢复执行时,这些编辑将反映在代码的执行中。同样,如果在脚本A仍暂停的状态下对脚本C进行编辑,然后在保存更改后继续执行,这些更改将反映在代码的执行中。 那么,这是一个真正的问题,有什么办法可以在脚本A仍在运行时对其进行编辑?还是一旦开始执行便无法进行编辑?

4
python vs bc评估6 ^ 6 ^ 6
我正在分别6^6^6使用python和评估表达式bc。 python文件的内容为print 6**6**6。当我执行时time python test.py,我得到的输出为 real 0m0.067s user 0m0.050s sys 0m0.011s 然后,我运行了命令time echo 6^6^6 | bc,该命令给了我以下输出 real 0m0.205s user 0m0.197s sys 0m0.005s 从这些结果可以明显看出,python和bc所花费的sys时间分别为11ms和5ms。在系统时间级别上,bc命令的性能优于python,但对于用户和实时python,它的速度几乎是bc的4倍。什么可能去了那里。我没有对此类流程给予任何优先考虑。我试图了解这种情况。


2
如何杀死其父级为init的<defunct>进程?
传输间歇性地挂在我的NAS上。如果我发送SIGTERM,它不会从进程列表中消失,并且&lt;defunct&gt;它旁边会出现一个标签。如果我发送SIGKILL,它仍然不会消失并且我不能终止父级,因为父级是init。我摆脱进程并重新启动传输的唯一方法是重新启动。 我意识到我能做的最好的事情就是尝试修复Transmission(而且我已经尝试过),但是我是编译的新手,我想确保自己的洪流在开始处理之前就完成了。

2
僵尸可以有孤儿吗?收割僵尸会不会打扰孤儿?
据我了解,僵尸进程已经死亡,但仍作为进程表中的占位符存在,直到其父级(或者init如果僵尸本身是孤儿)检查其退出状态。 我对孤立进程的理解是,它们仍然是活动的并且正在运行,但是其父进程已经死亡。 由于僵尸已经死了,所以它的孩子将被视为孤儿,不是吗?他们会因为收割僵尸而受到影响吗?具体来说,是init仅在收割僵尸后才将其收为孩子,还是在父母成为僵尸后立即收养?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.