Каков самый короткий способ перечислить текущий процесс?

Почему бы вам не создать гостевую учетную запись, на которую вы переключаетесь (в отличие от выхода из системы или блокировки). Ваша учетная запись останется активной и заблокирована, и они смогут просматривать веб-страницы или играть в пасьянс ..

1
задан 26 June 2014 в 01:11

3 ответа

Использование псевдонима & amp; grep, чтобы отфильтровать свой собственный процесс терминала:

alias qp="ps aux | grep -E -v \"tty.*grep|pts.*grep\" | grep -m1"

Если вы хотите последний / новейший процесс:

alias qp="ps ax | tac | grep -E -v \"tty.*grep|pts.*grep\" | grep -m1"
3
ответ дан 24 May 2018 в 06:30

Дает идентификатор процесса, если он работает, а не если не работает

pidof process
0
ответ дан 24 May 2018 в 06:30
  • 1
    Спасибо, но я хотел бы иметь возможность использовать шаблон, а также получить больше информации, чем pid – Katu 20 June 2014 в 18:02

Другие ответы очень хорошие и в основном завершают ваше ad hoc-решение ps | grep в псевдонимы или функции оболочки. Нет ничего плохого в этом подходе. Обратите внимание, однако, что это означает, что ps будет извлекать информацию для всех запущенных процессов, а затем вы awk или grep отфильтровываете интересующие строки.

Я бы предположил, что это немного больше эффективный для использования pgrep для получения списка PID (как вы видите в своем вопросе) и используйте ps, чтобы получить формат вывода, который вы хотите, только для PID, совпадающих с pgrep.

Простой совпадение процессов, полное перечисление в стиле POSIX

pg() {
    pids=`pgrep -d, "$1"`
    [ "$pids" ] && ps -f -p "$pids"
}

pg myprocess

Это показывает полный список ps для совпадающих имен процессов. Это определение функции может быть добавлено к ~/.bashrc, которое всегда должно быть определено в вашей интерактивной оболочке. Это также можно изменить несколькими способами, чтобы изменить формат вывода или совместить полные командные строки, а не просто имя процесса.

Простой совпадение процесса, стиль BSD full Список

pg() {
    pids=`pgrep -d, "$1"`
    [ "$pids" ] && ps up "$pids"
}

Полное совпадение в командной строке, управление заданиями в стиле BSD

pg() {
    pids=`pgrep -f -d, "$1"`
    [ "$pids" ] && ps jp "$pids"
}

Полное совпадение в командной строке, управление заданием в стиле в POSIX [!d8 ] listing

pg() {
    pids=`pgrep -f -d, "$1"`
    [ "$pids" ] && ps -l -p "$pids"
}

Обратите внимание на параметр -f на pgrep в последних двух примерах, который будет соответствовать полной командной строке. Вы можете изменить эти примеры в соответствии с вашими потребностями, причем важная часть заключается в том, что предоставляется опция p или -p со списком PID, найденных в pgrep.

0
ответ дан 24 May 2018 в 06:30

Другие вопросы по тегам:

Похожие вопросы: