И в sh-скрипте есть место шутке
- Вий
- Сообщения: 6237
- Зарегистрирован: 22.09.2011 13:00
- Ник с it-ru.de: верифицирован
- Где: Минск
- Род занятий: Программист ;)
- Интересы: разные...
Re: И в sh-скрипте есть место шутке
Пока вы тут ржОте...
Как кошерным образом получить PID процесса, запущенного под sudo?
Как кошерным образом получить PID процесса, запущенного под sudo?
Вий есть колоссальное создание простонародного воображения...
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
- Китаец
- Благодарил (а): 1 раз
- Сообщения: 11889
- Зарегистрирован: 22.09.2011 09:35
- Ник с it-ru.de: верифицирован
- Веб-сайт: http://jiabaoyu.de
Re: И в sh-скрипте есть место шутке
Наверно тут всё сложнее чем кажется?Вий писал(а):Пока вы тут ржОте...
Как кошерным образом получить PID процесса, запущенного под sudo?
Код: Выделить всё
ps --user <пользователь, из под которого запущен sudo> | grep sudo | grep -v sudo | awk '{print $1}'-
Ravinger
Re: И в sh-скрипте есть место шутке
Элементарно, Холмс.Китаец писал(а):Как? Ravinger, раскройте мысль, пожалуйста!
Р1 что-то Р2 = Р3
-------------------
0 что-то 0 = 0
0 что-то 1 = 1
1 что-то 0 = 1
1 что-то 1 = 1
Дальше остается угадать операцию под названием "что-то".
А он точно этого хотел? А то как раз получается, что вернется накосячкa, если хоть одна из программ вернет таковую. Прелесть в том, что в данном случае "false"=1atar писал(а): Но это совсем не то что происходит, в чём и состоит шутка.
- Вий
- Сообщения: 6237
- Зарегистрирован: 22.09.2011 13:00
- Ник с it-ru.de: верифицирован
- Где: Минск
- Род занятий: Программист ;)
- Интересы: разные...
Re: И в sh-скрипте есть место шутке
Теоретически, должен работать следующий код:Китаец писал(а):Наверно тут всё сложнее чем кажется?Вий писал(а):Пока вы тут ржОте...
Как кошерным образом получить PID процесса, запущенного под sudo?В цепочку с grep'ами можно еще название приложения добавить.Код: Выделить всё
ps --user <пользователь, из под которого запущен sudo> | grep sudo | grep -v sudo | awk '{print $1}'
Код: Выделить всё
sudo dd if=/dev/zero of=/dev/null bs=16K & dd_pid=$! ; echo pid = ${dd_pid}Код: Выделить всё
test@test-pc$ sudo dd if=/dev/zero of=/dev/null bs=16K & dd_pid=$! ; echo pid = ${dd_pid}
[1] 13438
pid = 13438
test@test-pc$ ps -A | grep dd
13438 pts/8 00:00:02 dd
Вий есть колоссальное создание простонародного воображения...
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
-
Ravinger
Re: И в sh-скрипте есть место шутке
Вий, а в "pidof" системе нет случайно? Убунту не знаю, а в СуСЕ вроде он по умолчанию ставится например.
- Китаец
- Благодарил (а): 1 раз
- Сообщения: 11889
- Зарегистрирован: 22.09.2011 09:35
- Ник с it-ru.de: верифицирован
- Веб-сайт: http://jiabaoyu.de
Re: И в sh-скрипте есть место шутке
да, кстати! В дебиане есть!Ravinger писал(а):Вий, а в "pidof" системе нет случайно? Убунту не знаю, а в СуСЕ вроде он по умолчанию ставится например.
А еще ведь можно заглянуть в *.pid файл приложения, тут:
/var/run/
или тут:
/home/user/.<имя приложения>
- Вий
- Сообщения: 6237
- Зарегистрирован: 22.09.2011 13:00
- Ник с it-ru.de: верифицирован
- Где: Минск
- Род занятий: Программист ;)
- Интересы: разные...
Re: И в sh-скрипте есть место шутке
Есть.Ravinger писал(а):Вий, а в "pidof" системе нет случайно? Убунту не знаю, а в СуСЕ вроде он по умолчанию ставится например.
Пока буду использовать его.
А если там несколько процессов с одинаковым именем?
Вий есть колоссальное создание простонародного воображения...
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
- Китаец
- Благодарил (а): 1 раз
- Сообщения: 11889
- Зарегистрирован: 22.09.2011 09:35
- Ник с it-ru.de: верифицирован
- Веб-сайт: http://jiabaoyu.de
Re: И в sh-скрипте есть место шутке
Вий писал(а):Есть.Ravinger писал(а):Вий, а в "pidof" системе нет случайно? Убунту не знаю, а в СуСЕ вроде он по умолчанию ставится например.
Пока буду использовать его.
А если там несколько процессов с одинаковым именем?
Код: Выделить всё
2077 ? Ss 0:00 /usr/sbin/smbd -D
2140 ? S 0:00 /usr/sbin/smbd -DКод: Выделить всё
pidof smbd
2140 2077Re: И в sh-скрипте есть место шутке
Таблица истинности неправильная.Ravinger писал(а):Элементарно, Холмс.Китаец писал(а):Как? Ravinger, раскройте мысль, пожалуйста!
Достаточно построить таблицу, где Р1 - возвращенный код mycoolprog1, Р2 - возвращенный код mycoolprog2, а Р3 - код, возвращенный скриптом (естественно выводится 0 или (не 0)=1 :
Р1 что-то Р2 = Р3
-------------------
0 что-то 0 = 0
0 что-то 1 = 1
1 что-то 0 = 1
1 что-то 1 = 1
Дальше остается угадать операцию под названием "что-то".![]()
Да, точно. Это мой собственный код, написанный под действием стресса и нехватки времени. Приложение, за которым он следит, капризное, но обычно работает, поэтому то что о его неработе иногда не сообщалось никто не заметил. Но вот дошли у меня до этого угла, и посмеялся я шутке, которую сам себе и подложил.Ravinger писал(а):А он точно этого хотел?atar писал(а): Но это совсем не то что происходит, в чём и состоит шутка.
Не вернётся. Т.е. вернётся но не всегда. В этом и шутка. Я тоже не сразу увидел, но когда увидел - долго смеялся.Ravinger писал(а): А то как раз получается, что вернется накосячкa, если хоть одна из программ вернет таковую. Прелесть в том, что в данном случае "false"=1