![]() |
Присвоение pid'a процессу при запуске.
Можно ли при запуске программы через командную строку при помощи start присваевать PID этому процессу?
А дело вот в чем: Есть несколько одинаковых файлов(приложений), названия которых тоже совпадают. С запуском проблем нет. А вот с прекращением их работы есть. По названию их не остановить, т.к. 3 одинаковых названия. А по PID - его надо каждый раз узнавать. Нельзя ли разу присваевать этот пид процессу? |
Цитата:
Можно получать PID при запуске. Затем использовать его при завершении процесса. Рассказывайте детали: что за приложения, как и когда запускаются, как и когда завершаются. |
Типичное exe приложение серверного типа.
Запускаю при помощи start. Завершение через taskkill при помощи PID. А вообе суть такая: Есть многопользовательский сайт на php,где в интерфейсе кнопки: старт, стоп. При клике Старт формируется файл start.cmd, который содержит путь к запускаемому файлу, и сам запус этого файла, после exit и cmd.exe прекращает работу. Все было нормально, пока работало одно приложение. Но при запуске 2 и более уже по названию не отключить. Вот, хотел бы реализовать таким же образом его остановку: при клике на Стоп сайт формирует файл stop.exe, где содержит остановку процесса по PID. p.s. Если получать Pid при запуске возникает еще одна проблема: как cmd.exe отправить php данные о pid'e, что бы тот знал какой именно PID принадлежит пользователю. |
Паркан, сожалею, но с php помочь Вам не смогу. Насколько я понимаю, нажимают кнопки на клиенте, а приложение должно запускаться и останавливаться на сервере, так? Сеть глобальная или локальная? Как и где предполагаете хранить PID? Как планируется осуществлять идентификацию клиента, как — соотносить его с уже запущенным приложением (если, например, клиент просто запустит приложение и, не остановив его, выйдет; снова зайдёт, запустит и выйдет и т.д.)?
В общем и целом, думаю, задача в этом случае должна решаться именно средствами php, хотя беглый поиск наводит на странные мысли на этот счёт. Общий принцип запуска приложения и получения его PID (на WSH): Код:
Option Explicit Код:
Option Explicit Код:
… Завершение процесса по известному PID, например, переданному единственным аргументом: Код:
Option Explicit |
Цитата:
Цитата:
Цитата:
Ну вот дальше проблема: как выключить? В cmd.exe можно использовать PID процесса. В php сформировать функцию выключения организовать не проблема. Но проблема в том, что я не знаю какой именно сервер вырубить. Приложение способно работать даже когда клиент покинет сайт, т.е. в качестве мини сервера, разве что если он не упадет сам. Но иногда клиенту может понадобиться перезагрузка его сервера - вот тогда то и возникают, как вы понимаете, проблемы с выбором сервера, который надо выключить. |
Паркан, если пользователю позволено иметь запущенным только один процесс (от которого и нужен PID) — то всё достаточно просто: привязывайте к паре логин/пароль и полученный PID.
Цитата:
|
Время: 03:02. |
Время: 03:02.
© OSzone.net 2001-