我创建了一个小函数,用于strace
按名称“ing 一组当前用户的进程”:
function pstrace() {
local pattern="$1";
shift;
prefixDashP $(pgrep -U $(whoami) $pattern) | xargs strace -o /dev/stdout $@;
}
function prefixDashP() {
local new_args=();
for arg; do
new_args+=( '-p' );
new_args+=( "$arg" );
done;
for arg in "${new_args[@]}"; do
echo "$arg";
done;
}
# Usage: pstrace pattern1 pattern2 ...
问题是,如果我不小心指定了太宽泛的模式,它会尝试监视它不应该监视的进程,因此我的系统会冻结。
是否存在一个我可以始终排除的进程列表?