在 Linux 环境中,如何向进程发送终止信号,同时确保从该进程返回的退出代码为 0?我是否必须为此做一些花哨的 GDB 魔术,或者是否有我不知道的花哨的终止信号?
测试用例:
cat; echo $?
killall cat
Run Code Online (Sandbox Code Playgroud)
尝试各种终止信号只会提供不同的返回信号,例如 129、137 和 143。我的目标是终止脚本运行的进程,但让脚本认为它成功了。
有什么方法可以得到cgroup进程吗?
我所知道的唯一一个包 ( cgroup-bin),只提供了一些对 cgroup 的操作,并允许更改进程的 cgroup/进程列表,但没有能力了解有关特定进程的 cgroup 的信息。
实际上,我需要一个行为正常的进程,就好像我Ctrl+Z在它开始后就按下了一样。
希望可以使用 shell 脚本来做这样的事情。
(另外,知道结果 PID 会很棒,所以我可以在之后继续这个过程。)
有时,向进程发送 SIGTERM 会导致它向其所有子进程发送 SIGTERM。但是,有时这不起作用。
是否有命令或实用程序可以让我同时杀死一个进程及其所有子进程?我通常会手动将所有 pid 收集到一个 kill 命令中,但这感觉很愚蠢。
这个 SO 问题询问如何用 perl 做到这一点,但任何能完成工作的东西都会很棒。
如果我通过在命令行中正常键入来启动一个进程,例如
wget http://site.com/bigfile.zip
Run Code Online (Sandbox Code Playgroud)
然后决定我想把它移到后台,我知道我可以使用像ctrl+z然后bg 1(或者jobs如果需要的话首先)把它放在后台。
我的问题是是否有一种方法可以将工作从前台直接移动到后台而不停止它 - 就像另一个捷径 ctrl+z。
我也意识到我可以附加&到原始命令的末尾以在后台启动它,但问题在于您何时在前台启动一个进程然后意识到您想将它移到后台。
我在 Linode 上有一个盒子正在经历奇怪的行为。CPU 和磁盘 I/O 会时不时地达到 100%,并且服务器变得无响应并且必须启动。我想更好地调查发生了什么,但我不知道如何找到谁对所有 CPU 和 I/O 负责。我正在运行 Gentoo 2.6.18。
不时,我遇到的问题与OS X客户端的网络连接(有线和无线,豹/雪豹),其中没有将解决这个问题,直到你重新启动。
在基本故障排除(例如 DHCP、DNS)、检查接口故障(禁用/启用)、检查日志并没有找到足够有用的信息后,有时当其他一切都失败时,最好的办法就是重新启动机器。我不确定所有“init.d/networking restart”在 Linux 中的作用,但我知道它比禁用和启用接口更有帮助。
谢谢!
我过去曾与我部门的其他人讨论过文档,特别是详细程度和要求。在他们看来,文档是当 X 件事情出错时 Y 件事情要做的简单清单。
我不同意。我认为这假定 IT 中的所有问题都可以很容易地归结为简单的恢复程序清单。我认为它完全忽略了情况的复杂性,而且由于部门中的其他人并不总是对这个问题有深入的了解(这就是我写文档的原因——所以他们有一些东西可以参考) 文件应包括一些基本的背景材料,例如:
但是,我对此持反对意见,因此需要将我的文档重新编写为“按顺序应用的步骤 ABC 将解决问题 X”的表格。 我经常听到有人感叹它需要放在一页纸上。 尝试通过单页文档以这种方式向某人解释 Squid ACL 的配置,包括故障排除。这只是作为恢复清单“等待写入”的六份文件之一。
我提倡的方法真的过火了吗?或者他们是对的,我应该管好我的生意,给他们写一个简单的清单?我担心的是,无论您编写的程序检查表有多好,它确实无法解决需要系统管理员仔细考虑的问题。如果您正在花费时间执行最终无法解决问题的恢复程序清单(因为由于文档的重点狭窄,还有不属于文档的一部分的其他因素),以及文档是为了避免重新阅读手册页、维基和网站,那我为什么要走过场?是我太担心了,还是这是一个真正的问题?
编辑:
该部门目前没有服务台职位。文档的受众将是其他管理员或部门负责人。
什么是进程句柄?通过任务浏览器中的“句柄计数”属性,我们可以了解哪些正在运行的进程?

windows operating-system task-manager process-explorer process
我想从命令行本身显示进程的命令行(包括任何参数)。换句话说,我想在任务管理器中显示“命令行”列,但从命令行显示。这可能吗?
例如,输出可能看起来像
C:\java\bin\java.exe -Dhttp.proxyHost=http://localproxy -Dport=8331
Run Code Online (Sandbox Code Playgroud) process ×10
linux ×6
kill ×2
windows ×2
cgroup ×1
job-control ×1
logging ×1
mac-osx ×1
networking ×1
service ×1
task-manager ×1
unix ×1
wifi ×1