The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"ps обрезает COMMAND"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"ps обрезает COMMAND"  +/
Сообщение от Sanders (ok) on 18-Сен-09, 14:28 
задача: получить название запущенного процесса без аргументов.
обычно делал так:
ps -p $PID -o comm=
но вот если COMMAND больше вроде 15 символов, то вывод обрезается.
пробовал разные варианты:
ps ww -p $PID -o comm=
ps --cols 10000 -p $PID -o comm=
не получается.
Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "ps обрезает COMMAND"  +/
Сообщение от phpcoder email(??) on 18-Сен-09, 14:31 
"If ps can not determine display width, as when output is redirected (piped) into a file or another command, the output width is undefined. (it may be 80, unlimited, determined by the TERM variable, and so on) The COLUMNS environment variable or --cols option may be used to exactly determine the width in this case. The w or -w option may be also be used to adjust width."

Это из man ps. Оно?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "ps обрезает COMMAND"  +/
Сообщение от Sanders (ok) on 18-Сен-09, 15:18 
да, man первым делом посмотрел, но как писал выше не --cols, ни -w не помогли.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "ps обрезает COMMAND"  +/
Сообщение от sproot (ok) on 18-Сен-09, 15:25 
>да, man первым делом посмотрел, но как писал выше не --cols, ни
>-w не помогли.

Какая операционка?
Linux: ps auxww
Solaris: /usr/ucb/ps axuwww

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "ps обрезает COMMAND"  +/
Сообщение от Sanders (ok) on 18-Сен-09, 16:22 
>Какая операционка?
>Linux: ps auxww

операционка debian.
не работает.
$ cp /bin/bash qwertyuiopqwertyuiop
$ ./qwertyuiopqwertyuiop &
$ ps ww -o comm=
qwertyuiopqwert
...

ps auxww не подходит, у меня задача, по пиду посмотреть мой ли процесс запущен или не мой.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "ps обрезает COMMAND"  +/
Сообщение от Slavaz (ok) on 18-Сен-09, 16:36 
>ps auxww не подходит, у меня задача, по пиду посмотреть мой ли
>процесс запущен или не мой.

непонятно. Уточните задачу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "ps обрезает COMMAND"  +/
Сообщение от Sanders (ok) on 18-Сен-09, 17:35 
>>ps auxww не подходит, у меня задача, по пиду посмотреть мой ли
>>процесс запущен или не мой.
>
>непонятно. Уточните задачу.

задача такова:
есть название бинарника ($bin)
есть pid (полученный после запуска бинарника и сохраненный в файл $bin.pid)
использую проверку:
if [[ $bin = $(ps -p $(cat $bin.pid) -o comm=) ]] ; then ...
проблема:
если имя бинарника больше 15 символов, то эта проверка не срабатывает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "ps обрезает COMMAND"  +1 +/
Сообщение от Slavaz (ok) on 18-Сен-09, 17:40 
>[оверквотинг удален]
>>непонятно. Уточните задачу.
>
>задача такова:
>есть название бинарника ($bin)
>есть pid (полученный после запуска бинарника и сохраненный в файл $bin.pid)
>использую проверку:
>if [[ $bin = $(ps -p $(cat $bin.pid) -o comm=) ]] ;
>then ...
>проблема:
>если имя бинарника больше 15 символов, то эта проверка не срабатывает.

if [[ "$bin" = "$(cut -d $'\0' -f 1 /proc/$(cat $bin.pid)/cmdline)" ]];

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "ps обрезает COMMAND"  +/
Сообщение от Sanders (ok) on 21-Сен-09, 18:22 
спасибо, то что надо!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "ps обрезает COMMAND"  +/
Сообщение от angra (ok) on 18-Сен-09, 17:46 
if [[ "$bin" == $(cat /proc/($cat $bin.pid)/cmdline) ]]
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "ps обрезает COMMAND"  +/
Сообщение от angra (ok) on 18-Сен-09, 17:05 
>ps auxww не подходит, у меня задача, по пиду посмотреть мой ли
>процесс запущен или не мой.

Открой для себя proc, можно даже методом тыка без всяких манов.
В следующий раз сразу излагай исходную задачу, а не проблемы с выбранным тобой способом решения.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру