The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
ps обрезает COMMAND, !*! Sanders, 18-Сен-09, 14:28  [смотреть все]
задача: получить название запущенного процесса без аргументов.
обычно делал так:
ps -p $PID -o comm=
но вот если COMMAND больше вроде 15 символов, то вывод обрезается.
пробовал разные варианты:
ps ww -p $PID -o comm=
ps --cols 10000 -p $PID -o comm=
не получается.
  • ps обрезает COMMAND, !*! phpcoder, 14:31 , 18-Сен-09 (1)
    "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. Оно?

    • ps обрезает COMMAND, !*! Sanders, 15:18 , 18-Сен-09 (2)
      да, man первым делом посмотрел, но как писал выше не --cols, ни -w не помогли.
      • ps обрезает COMMAND, !*! sproot, 15:25 , 18-Сен-09 (3)
        >да, man первым делом посмотрел, но как писал выше не --cols, ни
        >-w не помогли.

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

        • ps обрезает COMMAND, !*! Sanders, 16:22 , 18-Сен-09 (4)
          >Какая операционка?
          >Linux: ps auxww

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

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

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

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

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

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

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

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





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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