Видео ролики бесплатно онлайн

Смотреть красотки видео

Официальный сайт openclass 24/7/365

Смотреть видео бесплатно

lwilis 21.08.2009 13:13

СкриптыУзнаем с какими параметрами запущен процесс

В ходе загрузки системы стартует масса процессов. Процессы запускаются с необходимыми параметрами. Можно запустить top и воспользоваться клавишей "c" для смены отображения колонки "COMMAND".



Все бы хорошо, но строка с параметрами может обрезаться, выходя за границы экрана. Можно поотключать некоторые колонки top, но мне оказалось удобнее написать небольшой скрипт и пользоваться им. Скрипт под катом.



 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/sh

# ProceSs full String Parameters

# by Alexandr (su6s) Polyakhov

# Fri Aug 21 12:03:39 MSD 2009

# [email protected]

# [email protected]

# [email protected]

# aap-blog.blogspot.com

# juick.com/su6s

#

# We want number of processes which names matches our request

LQTY=`pgrep $1 2>/dev/null |wc -l`

#

# If we started without parameters so let`s ask for them

if < -z $1 >; then

echo -e "\nYou should give at least one letter of the process name\n";

exit 1;

fi

#

# We got zero for the number of matches so let`s exit

if < $LQTY == 0 >; then

echo "no such process";

exit 1;

fi

if < $LQTY == 1 >; then

echo -n `pgrep $1`' '

ps --no-header -p `pgrep $1` -o "%a";

exit 0;

fi

if < "$LQTY" -gt "1" >; then

for i in `pgrep $1`

do

echo -n ${i}' '

ps --no-header -p$i -o "%a"

done;

exit 0;

fi



Сценарий принимает в качестве параметра часть имени интересующего процесса или процессов, если их несколько. А отдает идентификатор процесса (PID) и строку с именем и параметрами процесса.


Тэги: bash скрипт
+ 1 -
Похожие Поделиться

xT 21.08.2009 13:32 #
+ 0 -
Отлично +)

но причем тут top ? он же показывает не просто список процессов, а список активных процессов и обновляется в реальном времени
lwilis 21.08.2009 13:42 #
+ 0 -
top умеет показывать полную строку с параметрами процесса. Обновление можно регулировать. В общем я начале просто объяснил природу появления скрипта :)
xT 21.08.2009 13:36 #
+ 0 -
LQTY=`pgrep $1 2>/dev/null |wc -l`

wtf?
pgrep -c $1
lwilis 21.08.2009 13:40 #
+ 0 -
А у моего pgrep нету опциии -c :(
xT 21.08.2009 13:48 #
+ 0 -
Точно, похоже это фича debian*-дистров
exelens 21.08.2009 13:44 #
+ -1 -
В 9,04
alex@alex-desktop:~$ pgrep -c $1
pgrep: No matching criteria specified
Usage: pgrep <-cflvx> <-d DELIM> <-n|-o> <-P PPIDLIST> <-g PGRPLIST> <-s SIDLIST>
<-u EUIDLIST> <-U UIDLIST> <-G GIDLIST> <-t TERMLIST>
alex@alex-desktop:~$
lwilis 21.08.2009 13:50 #
+ 0 -
А это ты к чему?
pgrep - это отдельная команда из пакета procps
Я ее использовал в своем скрипте, так что на тему отсутствия опции -c наверно надо майнтайнера пакета procps спрашивать.
xT 21.08.2009 13:51 #
+ 0 -
Алексей))
Я же относительно скрита lwilis`а написал. Если просто в консоли это вводить, то вместо $1 надо ввести имя искомого процесса.
VGusev2007 21.08.2009 14:01 #
+ 1 -
Что это..? И кто все эти люди..?

ps auxww |grep process выведит чего надо и без обрезков.
lwilis 21.08.2009 14:11 #
+ 0 -
Чтобы получить тоже самое, твою конструкцию еще нужно через awk прогнать. В общем не думаю, что получится короче. Может быть выложишь ответный сценарий?
VGusev2007 21.08.2009 14:14 #
+ 0 -
Простите, зачем всё ЭТО?

user@user-desktop:/var/mail$ ps auxww |grep opera
user 12486 16.9 16.0 458872 331388 ? Sl Aug19 499:16 /usr/lib/opera/9.64/opera
user 12582 4.2 1.4 124768 29768 ? RNl Aug19 124:01 /usr/lib/opera/9.64/operapluginwrapper 72 76 /usr/lib/mozilla/plugins/flashplugin-alternative.so
user 12583 0.0 0.0 2956 712 ? S Aug19 0:00 /usr/lib/opera/9.64/operaplugincleaner 12486
user 17809 0.0 0.0 3336 804 pts/8 S+ 14:15 0:00 grep opera
user 18315 0.0 3.9 220544 81040 ? Sl Aug10 2:54 evince /home/user/.opera/cache4/temporary_download/Doors32_UsersGuide_3_9_rus.pdf


Не ужто так не пойдёт?
lwilis 21.08.2009 14:16 #
+ 0 -
нетбук, маленький экранчик... неа не пойдет :)
VGusev2007 21.08.2009 14:17 #
+ 0 -
Ничего не понимаю... О чём Вы? Вывод будет просто в несколько строк. Всё вполне нормально.
lwilis 21.08.2009 14:23 #
+ 0 -
да, понятно, что в несколько строк. Просто бывают случаи, когда у комманды длинная строка с параметрами (например, xinit, у меня).

Соответственно дополнительная инфа, которую отдает ps u будет сильно удлинять строку - получаем переносы строк. Ну неудобно же воспринимать. А отсеивать с помощью awk всякие USER %CPU %MEM и т.д. мне лень.
VGusev2007 21.08.2009 14:28 #
+ 0 -
user@user-desktop:~/Script$ ./process opera
<: 24: 3: unexpected operator
<: 29: 3: unexpected operator
12486 /usr/lib/opera/9.64/opera
12582 /usr/lib/opera/9.64/operapluginwrapper 72 76 /usr/lib/mozilla/plugins/flashplugin-alternative.so
12583 /usr/lib/opera/9.64/operaplugincleaner 12486


Ваш вывод.

user@user-desktop:~/Script$ ps auxww |grep opera
user 12486 16.9 16.0 458588 331276 ? Sl Aug19 502:21 /usr/lib/opera/9.64/opera
user 12582 4.2 1.4 124768 29848 ? RNl Aug19 124:33 /usr/lib/opera/9.64/operapluginwrapper 72 76 /usr/lib/mozilla/plugins/flashplugin-alternative.so
user 12583 0.0 0.0 2956 712 ? S Aug19 0:00 /usr/lib/opera/9.64/operaplugincleaner 12486
user 18066 0.0 0.0 3336 804 pts/8 S+ 14:28 0:00 grep opera
user 18315 0.0 3.9 220544 81040 ? Sl Aug10 2:54 evince /home/user/.opera/cache4/temporary_download/Doors32_UsersGuide_3_9_rus.pdf

Мой вывод.

В общем надо как-то подделать может скрипт. А так да, вполне себе не плохо.
or10n 21.08.2009 14:04 #
+ 0 -
а еще есть замечательная вещь htop. умеет очень много, и удобна в использовании.
lwilis 21.08.2009 14:14 #
+ 0 -
Жду пост, который меня замотивирует установить htop. Интересуют киллер-фичи перед классическим top.
or10n 21.08.2009 14:27 #
+ 0 -
F9 - Enter = SIGKILL.
а вообще по Ф9 можно послать любой сигнал процессу.
xT 21.08.2009 15:02 #
+ 1 -
Почти всё тоже самое, но одной строкой:
#!/bin/sh
ps ax -o "%p %a" | grep $1 | grep -v -e grep -e "$$"

Естественно, теряем все кастомные сообщения об ошибках
lockie 22.08.2009 00:21 #
+ 1 -
> Все бы хорошо, но строка с параметрами может обрезаться, выходя за границы экрана.
Ей-богу, не хочу огорчать, но оно стрелочками прокручивается :)
zb 22.08.2009 01:33 #
+ 1 -
cat /proc/$pid/cmdline
чет я вас товарищи не понимаю... совсем расслабились
Обращение к пользователям

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн