【问题标题】:How do I write a shell script to get a given process idle time?如何编写 shell 脚本来获取给定的进程空闲时间?
【发布时间】:2014-07-21 04:57:25
【问题描述】:

我是 Linux 新手。我不知道shell脚本。我需要获取给定 Linux 进程的空闲进程时间。我正在编写一个 Java 程序。但是没有我需要的 Linux 命令。我如何编写一个可以做到这一点的 shell 脚本?然后我可以从 Java 中执行这个脚本。

【问题讨论】:

    标签: java linux bash shell ubuntu


    【解决方案1】:

    你在这里:

    #! /bin/bash
    # Assumptions:
    # Process is attached to a tty.
    #
    
    [[ -z "$1" ]] && echo "Usage: $0 pid" && exit 1
    
    [[ "$1" != +([0-9]) ]] && echo "$1 is not a valid pid" && exit 1
    
    PID="$1"
    W=$(which w)
    PS=$(which ps)
    SED=$(which sed)
    AWK=$(which awk)
    TTY=$($PS -o tty4 $PID)
    TTNo=$(echo "$TTY" | $SED -e '/TTY/d')
    
    TIME=$($W | $SED -n -e "/pts\/$TTNo/p" |  $AWK '{ print $5 }')
    
    echo $PID has been idle for $TIME
    

    【讨论】:

      猜你喜欢
      • 2010-12-24
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多