【问题标题】:Selecting a value from output of ps -eaf从 ps -eaf 的输出中选择一个值
【发布时间】:2013-08-19 23:26:06
【问题描述】:

假设我想从“ps -eaf”的输出中选择 6547 命令,我该怎么做?我想选择该值并将其提供给“kill”命令以终止该进程。

root      6547     1  0 Aug07 ?        00:00:00 
root     14805     2  0 Aug07 ?        00:00:00 
root     17443 30043  0 16:21 pts/0    00:00:00 

【问题讨论】:

    标签: shell kill ps


    【解决方案1】:

    您可能需要编写一个小的 shell 脚本 - 基本上包含以下选项 -

        pidList=`ps -eaf | awk ' print $2'`  
        for pid in pidList  
        cmd="kill -9 $pid"  
        `$cmd` 
    

    现在,您可以根据您的条件(如进程名称、用户等)对该特定进程采取措施。所以这里的要点是使用awk 命令来获取您的确切列。

    【讨论】:

    • 它只做了一些改动:ps -eaf | grep 'processname*' | awk '{print $2" "$1 "\n"}' | grep 'username*' | awk '{print $1}' 给了我确切的价值。我想你在 awk 中忘记了 {}
    • 如果您只需要特定用户,请尝试将 ps 与 -U 选项一起使用。那就更好了!
    猜你喜欢
    • 2022-01-23
    • 1970-01-01
    • 2018-07-18
    • 2021-04-22
    • 2016-06-20
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多