所以,我的工作(BusyBox的),该系统具有ps
不带任何命令行参数和pidof
即使它内部存在不返回任何/sbin
与指向killall5
。
我遇到的另一个问题是top
不需要-H
,但是您可以在顶部点击h(not H) 以查看各个线程。
关于如何生成给定进程名称下所有 PID 的列表的任何提示?
当我运行时top -H
,我看到我的多个mysql
线程都具有相同的 PID。但是,在ps -eLf
我看来,每个人都有不同的 PID:
ps -eLf
UID PID PPID LWP C NLWP STIME TTY TIME CMD
mysql 1424 1 1424 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld
mysql 1424 1 1481 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld
mysql 1424 1 1482 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld
mysql 1424 1 1483 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld
mysql 1424 1 1484 0 17 18:41 ? 00:00:00 /usr/sbin/mysqld
mysql 1424 1 1485 0 17 18:41 …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 bash 脚本,用于inotifywait
监视目录并在检测到更改时启动操作。就像是:
inotifywait -m ... | while read f; do something; done
Run Code Online (Sandbox Code Playgroud)
由于inotifywait
不会自行终止,因此该脚本不会停止。
所以我的计划是获取 inotifywait 进程的 PID,将其保存到一个文件中,然后让不同的进程将其杀死,例如:
inotifywait -m ... | { echo ??PID?? > pid-file; while ... }
Run Code Online (Sandbox Code Playgroud)
但我不知道如何获得PID。有没有简单的方法来实现这一目标?另一种方法是将 shell 脚本的 PID 保存$$
到文件中并终止整个 shell 脚本,但我想在 while 循环后进行一些清理。
我试过使用coproc
,我认为它会起作用,但它似乎比必要的更复杂。
我有我想经常运行的 ac 程序可执行文件或 shell 脚本。如果我想停止/暂停或通知某事,我将向该进程发送信号。所以每次我必须检查pid
那个进程的时候,我必须用它kill
来发送一个信号。
每次我必须检查pid并记住系统关闭时,真的很糟糕。我希望该进程pid
只能像init
总是在 1 上运行一样运行。
是否有任何 C api?并且还需要bash程序的脚本。
我正在编写一个 bash 脚本,该脚本创建 5 个扩展名为“.P”的文件,并向其中写入一行“某物”。“P”代表一个数字,它是创建文件的进程的 PID。你怎么能这样做?我正在创建我的文件并像这样写入:echo "something" > file_name
我需要找出这些应用程序使用了如此多的 CPU(如果可能的话,还有 IO)的内容和时间。这应该在图形时间线中,就像我们在 GNOME 系统监视器 CPU 历史记录中看到的那样。我也想将该图形与 Psensor 温度监视器进行比较。
我找到了您已经知道 PID 的单个进程的答案,但是每当应用程序在过去 1 小时内使用最多的 CPU 或 IO(可以是任何时间的任何 pid)时,我都在寻找该信息。
我想知道是否有一些应用程序可以做到这一点。
甚至有可能知道吗?可能需要进行某种测试才能找到该信息?
我的系统,就在我登录后,似乎已经包装了 max_pid,所以一个仍然活着的 pid 获得了与旧进程相同的 pid(这是我的一个脚本搞砸了......)!我试图了解正在发生的事情,如果有一些解决方法......
我的/proc/sys/kernel/pid_max
是 32768
pid ×7
bash ×2
process ×2
busybox ×1
cpu ×1
disk-usage ×1
job-control ×1
kill ×1
linux ×1
monitoring ×1
pipe ×1
shell-script ×1
top ×1