【发布时间】:2014-07-21 04:57:25
【问题描述】:
我是 Linux 新手。我不知道shell脚本。我需要获取给定 Linux 进程的空闲进程时间。我正在编写一个 Java 程序。但是没有我需要的 Linux 命令。我如何编写一个可以做到这一点的 shell 脚本?然后我可以从 Java 中执行这个脚本。
【问题讨论】:
标签: java linux bash shell ubuntu
我是 Linux 新手。我不知道shell脚本。我需要获取给定 Linux 进程的空闲进程时间。我正在编写一个 Java 程序。但是没有我需要的 Linux 命令。我如何编写一个可以做到这一点的 shell 脚本?然后我可以从 Java 中执行这个脚本。
【问题讨论】:
标签: java linux bash shell ubuntu
你在这里:
#! /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
【讨论】: