标签: ps

Python流程管理

有没有任何方式python本地,或通过一些在线可用的代码(最好是在GPL下),能够进行流程管理.目标类似于ps的功能,但最好是在数组,列表和/或dicts中.

python process ps

6
推荐指数
1
解决办法
3093
查看次数

如何显示bash会话的当前进程树?

我想创建一个bash别名,它给我从我正在使用的当前bash会话的进程树,直到init.

用例是知道我是否使用bashvi:shell命令.

我正在使用MacOS X.我听说过pstree,但它似乎只显示孩子,而不是init和当前进程之间的关系.

vi bash process ps

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

来自TOP的ps RES的linux RSS

Linux:RedHat/Fedora

这些内存值有什么区别:

  • 来自top命令的RES
  • 来自ps命令的RSS

linux memory command redhat ps

6
推荐指数
1
解决办法
4909
查看次数

golang CPU 使用率

我知道[1]。通过几行代码,我只想从CPU使用率最高的前n个进程中提取当前的CPU使用率。或多或少都是前5排的顶部。使用github.com/shirou/gopsutil/process这很简单:

// file: gotop.go
package main

import (
  "log"
  "time"
  "sort"

  "github.com/shirou/gopsutil/process"
)


type ProcInfo struct{
  Name  string
  Usage float64
} 

type ByUsage []ProcInfo

func (a ByUsage) Len() int      { return len(a) }
func (a ByUsage) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a ByUsage) Less(i, j int) bool {
  return a[i].Usage > a[j].Usage
}


func main() {

  for {
    processes, _ := process.Processes()

    var procinfos []ProcInfo
    for _, p …
Run Code Online (Sandbox Code Playgroud)

ps go htop psutil

6
推荐指数
1
解决办法
8040
查看次数

获取(父)进程在 Linux shell 中执行命令

请指教,如何验证执行该过程的程序?

\n\n

例如

\n\n

以下命令 ( ps -ef ) 将查看 sendmail 进程是否正在运行

\n\n
  ps \xe2\x80\x93ef | grep sendmail\n  root     9558 9544 019:05?      00:00:00/usr/sbin/sendmail-FCronDaemon-i-odi-oem-oi-t\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想找到的是执行二进制文件/usr/sbin/sendmail的脚本

\n\n

所以我的问题 \xe2\x80\x93 我需要将哪些标志添加到语法“ps \xe2\x80\x93ef”中,以便从 ps \xe2\x80\x93ef 获取完整的详细信息,包括运行该进程的程序

\n\n

是否可以 ?

\n\n
    \n
  • 示例及备注
  • \n
\n\n

如果\n /etc/rc3.d/sendmail运行二进制文件/usr/sbin/sendmail

\n\n

然后我期望从命令 ps \xe2\x80\x93ef \xe2\x80\xa6\xe2\x80\xa6看到/etc/rc3.d/sendmail路径。

\n

linux process ps

5
推荐指数
1
解决办法
3547
查看次数

为什么“htop”向我显示我的应用程序正在使用的数十个 PID,但“ps”只向我显示一个?

我正在开发一个 Clojure 应用程序。我正在服务器上测试它,主要是进入“屏幕”会话并输入:

java -jar lo_login_service-0.2-standalone.jar

然后我按 Control-C 杀死它。然后我做一些改变。然后我再测试一下。

我假设只有 1 个 PID 正在使用。如果我做:

ps aux
Run Code Online (Sandbox Code Playgroud)

我只看到 1 个 PID 正在使用:

das      15028  0.2 22.1 1185300 133520 pts/5  Sl+  Jul26   3:19 java -jar lo_login_service-0.2-standalone.jar
Run Code Online (Sandbox Code Playgroud)

但是如果我运行“htop”,那么我会看到:

15029 das        20   0 1157M  130M  9960 S  0.0 22.2  0:25.85 java -jar lo_login_service-0.2-standalone.jar

15030 das        20   0 1157M  130M  9960 S  0.0 22.2  0:07.29 java -jar lo_login_service-0.2-standalone.jar

15031 das        20   0 1157M  130M  9960 S  0.0 22.2  0:00.02 java -jar lo_login_service-0.2-standalone.jar

15032 das        20 …
Run Code Online (Sandbox Code Playgroud)

clojure ps htop

5
推荐指数
1
解决办法
788
查看次数

查找 pid=<某个数字> 的进程的有效 id euid

如果我知道进程的 pid,如何找到进程的 euid 我尝试使用以下方法获取进程 id:

ps -f -u user1
Run Code Online (Sandbox Code Playgroud)

然后我尝试ps aux , ps -efgrep pid但看不到 euid

我总是尝试从手册页获取信息,但man ps 对于像我这样的新手来说似乎太混乱了。

linux process ps uid

5
推荐指数
1
解决办法
5888
查看次数

如何使用'kill'结合'grep'来杀死进程

我想用一个简单的命令来杀死一个进程/脚本.目前我做了以下事情

ps -ef | grep myscriptname
kill 123456
Run Code Online (Sandbox Code Playgroud)

但有没有办法可以将2命令组合在一起,所以我不需要查看并手动编写pid,这样的东西kill grep myscriptname

bash grep kill process ps

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

寻找有关containerd-shim/runc子进程的解释

我们在 swarm 环境中使用 docker。一切都很好......但是对于几天前出现的一个名为“exe”的奇怪进程:

14126 root      20   0  446836  33648    184 R  49.0  0.2   0:05.98 exe
    1 root      20   0   52356    532    332 S  34.3  0.0   2750:22 systemd
13789 root      20   0 5424660  49784      0 S   5.6  0.3   2381:57 dockerd
Run Code Online (Sandbox Code Playgroud)

它确实占用了 100% 的 CPU。
我们试图了解它来自哪里,但它非常不稳定,它的 pid 每 3-4 秒就会改变一次。你可以猜想,这样的行为引发了一些警报。
最终,我们设置了一些监控工具(使用auditd)来拍摄它的快照,并看到:

Syscall event   curl    /usr/bin/curl   24242   24234
Syscall event   4       /               24240   24234
Syscall event   exe     /usr/bin/runc   24240   24234
Syscall event   runc    /usr/bin/runc   24234   10444
Run Code Online (Sandbox Code Playgroud)

“main”runc 的父进程是:

root 10444 2621 0 …
Run Code Online (Sandbox Code Playgroud)

ps runc docker docker-swarm containerd

5
推荐指数
0
解决办法
2619
查看次数

为什么 malloc() 会导致轻微页面错误?

我正在尝试了解内存和页面错误,因此我编写了下面的代码来检查我的理解。我不明白为什么调用 malloc 会导致 MINFL 增加,因为 malloc() 不应该影响物理内存(据我所知)。

这是我的代码:

#include <stdio.h>
#include <stdlib.h>

void main() {
  printf("Before malloc\n");
  getchar();
  
  malloc(1 << 20);
  printf("After malloc\n");
  getchar();
}
Run Code Online (Sandbox Code Playgroud)

这些是 ps 命令的最终结果。

在进行 malloc 之前: 在malloc之前

malloc 之后: malloc之后

有两件事我不明白:

  1. 为什么 MINFL 会增加?
  2. 为什么VSZ增加1028而不是1024?

请帮忙并谢谢。

c malloc ps virtual-memory page-fault

5
推荐指数
1
解决办法
1467
查看次数

标签 统计

ps ×10

process ×5

linux ×3

bash ×2

htop ×2

c ×1

clojure ×1

command ×1

containerd ×1

docker ×1

docker-swarm ×1

go ×1

grep ×1

kill ×1

malloc ×1

memory ×1

page-fault ×1

psutil ×1

python ×1

redhat ×1

runc ×1

uid ×1

vi ×1

virtual-memory ×1