Bash 在名称中具有模式匹配的情况下杀死所有早于x时间的进程

Bash 在名称中具有模式匹配的情况下杀死所有早于x时间的进程,bash,shell,command-line,process,kill,Bash,Shell,Command Line,Process,Kill,我想杀死所有超过90秒的进程。进程的名称也应该包含“mysubstring” 我试过了 killall -o 90s -r mysubstring 但是如果有-r参数,它就不关心-o参数。它只会杀死名称中包含子字符串的所有进程,包括运行时间小于90秒的进程 有什么建议吗?尤其是那些不涉及对ps命令输出的所有不同时间格式进行过度解析的情况?如何?答案不再有效(不再有效)、不可移植或涉及解析不同的情况。它们中的大多数至少涉及其中的两个标准。也许更适用于-在任何情况下,指定您希望使用的一个或多个操作

我想杀死所有超过90秒的进程。进程的名称也应该包含“mysubstring”

我试过了

killall -o 90s -r mysubstring
但是如果有-r参数,它就不关心-o参数。它只会杀死名称中包含子字符串的所有进程,包括运行时间小于90秒的进程

有什么建议吗?尤其是那些不涉及对ps命令输出的所有不同时间格式进行过度解析的情况?

如何?答案不再有效(不再有效)、不可移植或涉及解析不同的情况。它们中的大多数至少涉及其中的两个标准。也许更适用于-在任何情况下,指定您希望使用的一个或多个操作系统可能会有所帮助。对于Linux,您可能希望从“
For p in$(pgrep mysubstring)”
开始,并使用
/proc/$p/
中的信息。如何?答案不再有效(不再有效),不可移植或涉及解析不同的情况。大多数情况下至少涉及其中两个条件。可能更适用于-在任何情况下,指定要在其上工作的操作系统或操作系统可能会有所帮助。对于Linux,您可能希望从$(pgrep mysubstring)中的p的
开始
并使用
/proc/$p/
中的信息。