相关疑难解决方法(0)

较不暴力的杀戮信号 -HUP (1) -INT (2) 和 -TERM (15) 之间的区别

除了最暴力的kill -9(SIGKILL),我不太明白其他 3 个常见信号(此处-HUP(1)、-INT(2)和-TERM(15)之间的区别。

在哪些情况下,一种有效而另一种无效?

一般什么时候-9( -KILL) 失败?

对我来说,他们似乎要求进程优雅地终止,而不保存. 评价严酷程度,我会放-HUP < -TERM < -INT < -KILL

kill signals

43
推荐指数
1
解决办法
2万
查看次数

跟踪程序

当我安装一个简单的程序时,它经常使用make && make install并且通常甚至没有卸载目标。

如果我想升级一个程序,假设它只是无缝地重写旧程序是标准协议吗?

我如何跟踪这些程序;大多数人是否只是“一劳永逸”,如果没有给出卸载目标,我是否必须手动删除所有内容?

compiling software-installation package-management

34
推荐指数
4
解决办法
4708
查看次数

如何确定进程正在执行哪些指令?

我知道 strace 和 ltrace,但这只能分别告诉我进程正在执行哪些系统调用和库调用。我想确切地知道进程正在执行哪些指令。如果可能的话,要么是汇编,要么是 C 和汇编之间的某种中间立场。假设二进制文件没有用调试符号编译,所以更有可能倾向于第一个选项。

用例:进程似乎挂起,strace 或 ltrace 没有输出。确定进程是否正在做“某事”。我意识到这可能很难确定,因为我认为这类似于解决停机问题。但是,有可能收集有用的数据。

第二个用例:好奇心。将整个汇编指令列表转储到文本列表会很有趣。

我的猜测是我可以使用 gdb 来做到这一点,但不确定如何,因为这不是关于调试我编写的程序,而是关于使用 gdb 检查正在运行的进程的健康状况。

操作系统是 CentOS 6。

process debugging gdb strace ltrace

8
推荐指数
2
解决办法
2790
查看次数

在这种情况下如何计算平均负载?

load average: 20.62, 18.83, 11.31
Run Code Online (Sandbox Code Playgroud)

这是四核处理器上的平均负载。我正在运行的程序不仅占用 CPU,还占用其他资源。

如何仅使用 CPU 显示此类数字?

linux cpu-usage

2
推荐指数
1
解决办法
1万
查看次数