Автор Тема: Подсчёт экземпляров процесса  (Прочитано 3118 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Master_Sergius

Здравствуйте! У меня есть скрипт, который делает нечто несколько секунд. При этом, его поведение должно чуточку меняться, если уже есть запущенный экземпляр этого скрипта. Каким образом лучше считать количество запущенных экземпляров - через "ps aux" или с помощью файлика в /tmp? Или ещё есть какие-то интересные варианты?
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/
 

yura_n

  • Гость
Re: Подсчёт экземпляров процесса
« Ответ #1 : 27 Мая 2014, 18:52:21 »
Вы можете использовать pidof, а затем посчитать (в скрипте) количество процессов. Например:
pidof bash
 

Оффлайн ogost

Re: Подсчёт экземпляров процесса
« Ответ #2 : 27 Мая 2014, 19:04:20 »
Вы можете использовать pidof, а затем посчитать (в скрипте) количество процессов. Например:
pidof bash

век живи век учись, спасибо, пойду поправлю свои скрипты-костыли
получить кол-во процессов: pidof bash | wc -w

Оффлайн Master_Sergius

Re: Подсчёт экземпляров процесса
« Ответ #3 : 27 Мая 2014, 19:07:46 »
Хм... Хороший вариант, но... у меня скрипт питоновский, получается, я могу получить список по питону, а не конкретно по скрипут. А если в это время крутится ещё что-то?
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/
 

Оффлайн ogost

Re: Подсчёт экземпляров процесса
« Ответ #4 : 27 Мая 2014, 19:24:32 »
Master_Sergius, вы сами же не уточнили, что питон :D
в питоне сам только начинаю разбираться, знаю там есть возможность запускать и bash скрипты. только костыль это - вызов сторонних утилит. пхд лучше писать в /tmp какой-нибудь файл с pid.

Оффлайн Master_Sergius

Re: Подсчёт экземпляров процесса
« Ответ #5 : 27 Мая 2014, 19:34:55 »
Ну дык, должна же быть универсальная технология, которая не зависит от ЯП. Я пока что остановился на отдельной процедуре, которая будет через ps брать, а то ещё погемориться с записью/чтением файла, а если вдруг один процесс пытается прочитать, а второй записать, мало ли )
Но, если ещё есть варианты, приму с благодарностью
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/
 

Оффлайн Master_Sergius

Re: Подсчёт экземпляров процесса
« Ответ #6 : 28 Мая 2014, 10:13:53 »
Нет, всё-таки решил использовать файл, так как нужно ещё один параметр записывать/считывать. Может это лучше через сокеты, как думаете?
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/
 

Оффлайн Master_Sergius

Re: Подсчёт экземпляров процесса
« Ответ #7 : 29 Мая 2014, 19:44:49 »
Решено использовать sqlite )
Мой блог о семействе *nix: http://nixtravelling.blogspot.com/
 

Теги: