如何确定进程是否正在运行,然后让 bash 脚本根据该条件执行一些内容?
例如:
如果进程abc正在运行,请执行此操作
如果它没有运行,请执行此操作。
在 Windows 上,系统挂起时Ctrl- Alt-Del会调出启动管理器,您可以从中结束导致挂起的程序或进程。
Ubuntu 上有这样的命令吗?
使用只是普通后kill <some_pid>在Unix系统上多年,我学会pkill从一个年轻的Linux精明的同事同事1。
我很快就接受了Linux的方式,pgrep-ing并pkill通过多少个日日夜夜-ing,通过缓慢起伏和比赛条件。这一切都很好。
但现在我什么也看不到killall。How-to 似乎只提到了killall,我不确定这是否是某种并行开发,或者是否killall是 的继任者pkill,或者其他什么。
它似乎更具有针对性pkill,但我确定我遗漏了一些东西。
一个 Ubuntu/Debian-savvy 2人能否解释什么时候(或为什么)killall应该使用,特别是如果它应该优先使用pkill(pkill通常看起来更容易,因为我可以更草率地匹配名称,至少在默认情况下)。
说到killall,我没有想到在某些 Unix 系统(Solaris、AIX、?)上会杀死所有用户进程的命令。以下是IBM 的 AIX 联机帮助页中对该版本的描述:
killall 命令取消您启动的所有进程,除了那些产生 killall 进程的进程。此命令提供了一种取消由您控制的 shell 创建的所有进程的便捷方法。当由 root 用户启动时,killall 命令会取消所有可取消的进程,但启动它的进程除外。如果指定了多个信号,则只有最后一个有效。
1个“同事”是从“同事”免费升级的,所以也可以。
2本来我以为这是Linux或者Debian的东西,但是有消息说Linuxkillall是从BSD风格的Unix派生出来的。
如何从给定孩子的 PID 中获取父 PID?
我知道我可以在 下手动检查它/proc,我想知道在 Ubuntu 中是否有更聪明/更好的方法来实现这一点。请注意,父母可能会或可能不会被杀死。
谢谢
我感觉 Ubuntu 运行有点缓慢,然后我去看了在它上面运行的进程,发现一个使用了 50% 的 CPU 的进程称为ksoftirqd/0.
有谁知道这个过程是做什么的,为什么它使用这么多 CPU 以及如何减少 CPU 密集度?
我多次遇到这种情况。
例如,每当我尝试打开一些文件emacs与sudo使用权限:
sudo emacs tet.c &
Ubuntuemacs没有询问我的密码,而是在没有任何emacs窗口或终端上的任何输出(pid 除外)的情况下启动进程,查看图像(如果我不使用“&”,那么它会询问我的密码):
我有两个与此相关的问题:
当我收到“有停止的作业”的错误消息时该怎么办?我如何识别所有这些停止的工作并杀死它们?一旦我清除了终端,我就不会有这些停止进程的 pid。
为什么 Ubuntu/emacs 会这样?为什么它不问我密码?
为了搜索过程中,你可以使用ps同grep。
例如搜索firefox
ps aux | grep firefox
Run Code Online (Sandbox Code Playgroud)
如何在不使用的情况下获得相同的答案grep?
我跑到了上面,我看到了很多 rcuos/rcuob 进程。这是顶部输出的示例:
top - 21:41:15 up 22 days, 19:20, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 332 total, 1 running, 331 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32910904k total, 2232224k used, 30678680k free, 246636k buffers
Swap: 33517564k total, 0k used, 33517564k free, 1048244k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3098 root 20 0 11.8g 113m 9.9m S 1 0.4 67:57.98 asterisk
12 …Run Code Online (Sandbox Code Playgroud) 之间有什么区别
ps -ef | grep thin
Run Code Online (Sandbox Code Playgroud)
和
ps aux | grep thin
Run Code Online (Sandbox Code Playgroud)
根据输出,有一个变化,但我不清楚列出的东西是什么。