The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
как узнать по полному пути к исполняемому файлу запущен ли о..., !*! Sanders, 04-Июн-09, 18:17  [смотреть все]
известен полный путь к файлу и название файла.
нужно проверить исполняется ли этот файл в данный момент.
просто проверить:
ps -ef | grep <название файла>
нельзя, так как с таким же именем может быть запущен файл из другой директории.
  • как узнать по полному пути к исполняемому файлу запущен ли о..., !*! allez, 18:29 , 04-Июн-09 (1) +1
    >известен полный путь к файлу и название файла.
    >нужно проверить исполняется ли этот файл в данный момент.
    >просто проверить:
    >ps -ef | grep <название файла>
    >нельзя, так как с таким же именем может быть запущен файл из
    >другой директории.

    Посмотрите на вывод команды "ls -l /proc/$PID/exe" и попробуйте сделать свои собственные выводы. ;-)
    Но предупреждаю: данный способ сработает только в Линуксе. Поэтому, если Вы пользуетесь не
    Линуксом (кстати, неплохо бы сообщать, какая ОС используется), то придется искать другие пути
    решения проблемы.

    • как узнать по полному пути к исполняемому файлу запущен ли о..., !*! Sanders, 18:49 , 04-Июн-09 (2)
      >Посмотрите на вывод команды "ls -l /proc/$PID/exe" и попробуйте сделать свои собственные
      >выводы. ;-)
      >Но предупреждаю: данный способ сработает только в Линуксе. Поэтому, если Вы пользуетесь
      >не
      >Линуксом (кстати, неплохо бы сообщать, какая ОС используется), то придется искать другие
      >пути
      >решения проблемы.

      к сожалению этот вариант не подходит:
      1. я не знаю пид процесса.
         хорошо, по имени файла я могу получить список пидов связанных с этим именем файла, но
      2. $ ls -l /proc/$PID/exe
         ls: cannot read symbolic link /proc/$PID/exe: Permission denied
         так как я не админ на сервере.

      используется Debian.

      • как узнать по полному пути к исполняемому файлу запущен ли о..., !*! angra, 19:09 , 04-Июн-09 (3)
        >   так как я не админ на сервере.

        Ну тогда тебе незачем знать лишнее о чужих процессах. А если очень надо, то договаривайся с админом.

      • как узнать по полному пути, !*! Andrey Mitrofanov, 10:20 , 05-Июн-09 (7) +1
        >>Посмотрите на вывод команды "ls -l /proc/$PID/exe" и попробуйте сделать свои собственные
        >выводы. ;-)
        >1. я не знаю пид процесса.
        >   хорошо, по имени файла я могу получить список пидов
        >связанных с этим именем файла, но
        >2. $ ls -l /proc/$PID/exe
        >   ls: cannot read symbolic link /proc/$PID/exe: Permission denied
        >   так как я не админ на сервере.
        >используется Debian.

        $ echo /proc/*/exe |xargs -n1 readlink -f 2>/dev/null |sort |uniq -c |sort -k1,1nr

        *+xargs решают пункт 1.
        "2>/dev/null" не смотрит на проблему п.2.
        sort+uniq+sort -- вариант-часть посмотреть, сделать выводы.

        Но обычно проблему проверки, запущен ли процесс (сервис в частности) начинают решать в момент запуска: pшd-файл создают (кууууча примеров - в /etc/init.d/), или ещё http:/openforum/vsluhforumID9/7156.html как.

        • как узнать по полному пути, !*! Sanders, 12:54 , 05-Июн-09 (8)
          >$ echo /proc/*/exe |xargs -n1 readlink -f 2>/dev/null |sort |uniq -c |sort -k1,1nr
          >
          >*+xargs решают пункт 1.
          >"2>/dev/null" не смотрит на проблему п.2.
          >sort+uniq+sort -- вариант-часть посмотреть, сделать выводы.

          спасибо!

          >Но обычно проблему проверки, запущен ли процесс (сервис в частности) начинают решать
          >в момент запуска: pid-файл создают (кууууча примеров - в /etc/init.d/), или
          >ещё http:/openforum/vsluhforumID9/7156.html как.

          я pid-файл создаю, но мне необходимо добавить в скрипты "защиту от дурака", на случай если кто запустил бинарник руками.

          • как узнать по полному пути, !*! Arpo, 07:59 , 10-Июн-09 (9)
            >[оверквотинг удален]
            >>sort+uniq+sort -- вариант-часть посмотреть, сделать выводы.
            >
            >спасибо!
            >
            >>Но обычно проблему проверки, запущен ли процесс (сервис в частности) начинают решать
            >>в момент запуска: pid-файл создают (кууууча примеров - в /etc/init.d/), или
            >>ещё http:/openforum/vsluhforumID9/7156.html как.
            >
            >я pid-файл создаю, но мне необходимо добавить в скрипты "защиту от дурака",
            >на случай если кто запустил бинарник руками.

            Ну а если вы создаете PID файл, что мешает каждый раз при запуске проверять его? Если он есть то бинарник запущен, если нет то нет.  

            • как узнать по полному пути, !*! Sanders, 10:01 , 10-Июн-09 (10)
              >>я pid-файл создаю, но мне необходимо добавить в скрипты "защиту от дурака",
              >>на случай если кто запустил бинарник руками.
              >
              >Ну а если вы создаете PID файл, что мешает каждый раз при
              >запуске проверять его? Если он есть то бинарник запущен, если нет
              >то нет.

              Прочитайте внимательно первые 2 строки в этом посте. "Свой" запуск я разумеется по пиду проверяю.

              • как узнать по полному пути, !*! Arpo, 14:17 , 10-Июн-09 (11)
                >>>я pid-файл создаю, но мне необходимо добавить в скрипты "защиту от дурака",
                >>>на случай если кто запустил бинарник руками.
                >>
                >>Ну а если вы создаете PID файл, что мешает каждый раз при
                >>запуске проверять его? Если он есть то бинарник запущен, если нет
                >>то нет.
                >
                >Прочитайте внимательно первые 2 строки в этом посте. "Свой" запуск я разумеется
                >по пиду проверяю.

                Я прочел все посты, и из последнего мне стало ясно, что вы запускаете скрипт и хотите сделать защиту от дураков... Если это ваш скрипт, как может его запустит кто то другой? Даже если и может, в этом скрипте можно проверять запущена ли другая копия ...
                А вот если вы имелли ввиду, что из скрипта запускается ЧТО-ТО, и именно это что-то вы хотите проверить, то это совсем другой вопрос...

                В любом случае, вам лучьше знать чего вы хотите, Удачи!!! )




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

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