The OpenNET Project / Index page

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

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

"ps full path" 
Сообщение от АрхангелГавриил emailИскать по авторуВ закладки(ok) on 19-Авг-05, 11:42  (MSK)
Спрашиваю  ps -auxww | grep test.sh
Выдается
Some_user  302  0.0  0.3  1072  648  p0  S+  11:29AM   0:00.01 bash test.sh

Очевидно, что скрипт запущен "локально" (без указания полного пути к нему при запуске)
Как нибудь можно узнать полный путь к исполняемом файлу test.sh?
PS
Прошу прощения за "неумный" вопрос

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

 Оглавление

  • ps full path, allez, 10:49 , 22-Авг-05, (1)  
    • ps full path, АрхангелГавриил, 10:55 , 22-Авг-05, (2)  
      • ps full path, magr, 11:04 , 22-Авг-05, (3)  
      • ps full path, allez, 12:20 , 22-Авг-05, (4)  
        • ps full path, АрхангелГавриил, 12:45 , 22-Авг-05, (5)  
          • ps full path, Karmael, 13:42 , 22-Авг-05, (6)  
            • ps full path, АрхангелГавриил, 13:52 , 22-Авг-05, (7)  
          • ps full path, allez, 13:56 , 22-Авг-05, (8)  
            • ps full path, Karmael, 15:07 , 22-Авг-05, (9)  
              • ps full path, allez, 11:08 , 23-Авг-05, (10)  
                • ps full path, АрхангелГавриил, 15:45 , 23-Авг-05, (11)  
                • ps full path, magr, 17:36 , 23-Авг-05, (12)  
                  • ps full path, allez, 19:59 , 24-Авг-05, (13)  

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

1. "ps full path" 
Сообщение от allez Искать по авторуВ закладки(ok) on 22-Авг-05, 10:49  (MSK)
>Спрашиваю  ps -auxww | grep test.sh
>Выдается
>Some_user  302  0.0  0.3  1072  648  
>p0  S+  11:29AM   0:00.01 bash test.sh
>
>Очевидно, что скрипт запущен "локально" (без указания полного пути к нему при
>запуске)
>Как нибудь можно узнать полный путь к исполняемом файлу test.sh?
>PS
>Прошу прощения за "неумный" вопрос

Если вы работаете в Linux, то вам может помочь инвентаризация /proc, а
точнее, /proc/<PID>/environ.

Вот пример:

$ cd /home/user/tmp

$ ls
test.sh

$ bash test.sh

$ ps auxww | grep test
user   19801  0.0  0.3  2232  984 pts/0    T    14:36   0:00 bash test.sh

$ cat /proc/19801/environ
PWD=/home/user/tmp
-----------cut--------------

Переменная PWD и содержит искомое.

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

2. "ps full path" 
Сообщение от АрхангелГавриил emailИскать по авторуВ закладки(ok) on 22-Авг-05, 10:55  (MSK)
>Если вы работаете в Linux, то вам может помочь инвентаризация /proc, а
>точнее, /proc/<PID>/environ.
>Вот пример:
>
>$ cd /home/user/tmp
>$ ls
>test.sh
>$ bash test.sh
>$ ps auxww | grep test
>user   19801  0.0  0.3  2232  984
>pts/0    T    14:36  
>0:00 bash test.sh
>$ cat /proc/19801/environ
>PWD=/home/user/tmp
>Переменная PWD и содержит искомое.
да, но это будет работать при условии, что
а) скрипт запущен мной, а не другим пользователем
б) после запуска скрипта текущий каталог не менялся. как только я его сменю, изменится значение переменной окружения PWD
мне гораздо интересней общий случай, когда процесс запущен другим пользователем
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "ps full path" 
Сообщение от magr emailИскать по авторуВ закладки(??) on 22-Авг-05, 11:04  (MSK)
>мне гораздо интересней общий случай, когда процесс запущен другим пользователем

тогда используйте lsof

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

4. "ps full path" 
Сообщение от allez Искать по авторуВ закладки(ok) on 22-Авг-05, 12:20  (MSK)

>да, но это будет работать при условии, что
>а) скрипт запущен мной, а не другим пользователем
>б) после запуска скрипта текущий каталог не менялся. как только я его
>сменю, изменится значение переменной окружения PWD
>мне гораздо интересней общий случай, когда процесс запущен другим пользователем

По поводу пункта "б": не путайте текущую переменную PWD и ее значение,
указанное в /proc/$PID/environ. Можете после запуска скрипта прыгать куда
угодно - ее значение в файле не изменится. В нем находится статичный
"снимок" среды, в которой был запущен скрипт.

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

5. "ps full path" 
Сообщение от АрхангелГавриил emailИскать по авторуВ закладки(ok) on 22-Авг-05, 12:45  (MSK)
>
>>да, но это будет работать при условии, что
>>а) скрипт запущен мной, а не другим пользователем
>>б) после запуска скрипта текущий каталог не менялся. как только я его
>>сменю, изменится значение переменной окружения PWD
>>мне гораздо интересней общий случай, когда процесс запущен другим пользователем
>
>По поводу пункта "б": не путайте текущую переменную PWD и ее значение,
>
>указанное в /proc/$PID/environ. Можете после запуска скрипта прыгать куда
>угодно - ее значение в файле не изменится. В нем находится статичный
>
>"снимок" среды, в которой был запущен скрипт.
спасибо, понял. только куда "смотреть" в случае FreeBSD в /proc/$PID ?
environ то там нет...
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "ps full path" 
Сообщение от Karmael Искать по авторуВ закладки(??) on 22-Авг-05, 13:42  (MSK)
find / -name test.sh
не спасет ?

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

7. "ps full path" 
Сообщение от АрхангелГавриил emailИскать по авторуВ закладки(ok) on 22-Авг-05, 13:52  (MSK)
>find / -name test.sh
>не спасет ?
нет. условно говоря, test.sh у меня 100 штук. искать долго/лень
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "ps full path" 
Сообщение от allez Искать по авторуВ закладки(ok) on 22-Авг-05, 13:56  (MSK)
>спасибо, понял. только куда "смотреть" в случае FreeBSD в /proc/$PID ?
>environ то там нет...

Так вам уже ответил magr - lsof.


$ cd /home/user/tmp

$ bash test.sh

$ ps aux | grep test
user   32216  0.0  0.3  2232  984 pts/0    T    16:19   0:00 bash test.sh

$ lsof | grep test
bash      32216 user  255r   REG    3,3      17   1901044 /home/user/tmp/test.sh

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

9. "ps full path" 
Сообщение от Karmael Искать по авторуВ закладки(??) on 22-Авг-05, 15:07  (MSK)
есть еще приблуда pstree
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "ps full path" 
Сообщение от allez Искать по авторуВ закладки(ok) on 23-Авг-05, 11:08  (MSK)
>есть еще приблуда pstree

Для поставленной задачи, увы, не подходит.

К слову сказать, почитал я "man ps" и нашел опцию "e", выводящую данные
об окружении, в котором был запущен процесс.
=========================================================================
> OUTPUT MODIFIERS
>       Switch         Description
>        ....
>       e              show environment after the command
=========================================================================

$ cd /home/user/tmp
$ bash test.sh
29773 pts/1    T      0:00 bash test.sh PWD=/home/user/tmp HOSTNAME=linuxbox

Для вывода большего количества информации следует использовать "w".

В общем, была бы документация вовремя прочитана, так и огород городить не
пришлось бы. Урок как автору темы, так и мне (нечего кидаться отвечать,
пока сам для себя ясность в вопрос не внес), да и всем остальным.

P.S. Во FreeBSD-шном ps опция "e" тоже есть.

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

11. "ps full path" 
Сообщение от АрхангелГавриил emailИскать по авторуВ закладки(ok) on 23-Авг-05, 15:45  (MSK)
>>есть еще приблуда pstree
>
>Для поставленной задачи, увы, не подходит.
>
>К слову сказать, почитал я "man ps" и нашел опцию "e", выводящую
>данные
>об окружении, в котором был запущен процесс.
>=========================================================================
>> OUTPUT MODIFIERS
>>       Switch         Description
>>        ....
>>       e              show environment after the command
>=========================================================================
>
>$ cd /home/user/tmp
>$ bash test.sh
>29773 pts/1    T      0:00
>bash test.sh PWD=/home/user/tmp HOSTNAME=linuxbox
>
>Для вывода большего количества информации следует использовать "w".
>
>В общем, была бы документация вовремя прочитана, так и огород городить не
>
>пришлось бы. Урок как автору темы, так и мне (нечего кидаться отвечать,
>
>пока сам для себя ясность в вопрос не внес), да и всем
>остальным.
>
>P.S. Во FreeBSD-шном ps опция "e" тоже есть.
спасибо. именно то, что надо. плохо читал ман :)

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

12. "ps full path" 
Сообщение от magr emailИскать по авторуВ закладки(??) on 23-Авг-05, 17:36  (MSK)
>В общем, была бы документация вовремя прочитана, так и огород городить не
>
>пришлось бы. Урок как автору темы, так и мне (нечего кидаться отвечать,
>
>пока сам для себя ясность в вопрос не внес), да и всем
>остальным.
>
>P.S. Во FreeBSD-шном ps опция "e" тоже есть.

Дело в том, что автор темы начал рассуждать про некие общие случаи. В Солярисе, к примеру, если данная опция и есть, то называется не "e", а по-другому.
С другой стороны, сложно найти UNIX где не запускается lsof. А выбирать в конечном итоге тем, кому понадобилось; и хорошо когда путей более одного.

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

13. "ps full path" 
Сообщение от allez Искать по авторуВ закладки(ok) on 24-Авг-05, 19:59  (MSK)
>Дело в том, что автор темы начал рассуждать про некие общие случаи.
>В Солярисе, к примеру, если данная опция и есть, то называется
>не "e", а по-другому.
>С другой стороны, сложно найти UNIX где не запускается lsof. А выбирать
>в конечном итоге тем, кому понадобилось; и хорошо когда путей более
>одного.

Согласен с вами. А в Solaris (по крайней мере, в 8 и 9 версиях) у ps просто нет
аналогичной опции, поэтому, действительно, lsof - универсальное решение.

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


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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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