Страниц: [1]
  Печать  
Автор Тема: Как узнать pid процесса?  (Прочитано 3428 раз)
xalex
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« : Марта 03, 2004, 04:07:12 pm »

Подскажите пожалуйста как узнать pid процесса по его имени из программы.
Ситуация следующая:
Имелось 3 устройства на шине RS-485.
СОМ-порт компа подключен к этой системе через конвертор.
Задача компа: следить за обменом между устройствами и раздавать им задания.
Для этого пару лет назад я написал 2 программки:
1. Работает с портом.
2. Грфическое приложение. Визуализация и ввод данных.
Программа 2 вызовом spawnv() запускает программу 1 которая передает свой pid родителю.
Взаимодействие между ними посредством сигналов. (Объемы данных маленькие).
Сейчас эту систему расширили до 6 внешних устройств.
На мой взгляд самое простое это запустить программу 3 (аналогичную 2). Всвязи с этим собственно и возник вопрос: как процесс 3 может получить pid  процесса 1 по известному имени.
Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #1 : Марта 03, 2004, 04:13:37 pm »

Нет ничего проще, чем связать pid с именем, читайте статьи:
http://qnx.org.ru/viewthread14n726.html
-  для того они и пишутся.

Но здесь-то это зачем? Почему процесс 1 не запустить из процесса 3 нужное число раз - 6, если вам так угодно?
Последовательными spawn (например через параметр командной строки задачи 1 модифицируя порт, для которого она в этот раз запускается), или, если так больше нравится, из отдельных thread, в которых выполняются spawn...
Записан
xalex
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #2 : Марта 03, 2004, 04:49:12 pm »

1.Статью прочитал. Все крайне доходчиво написано. Спасибо.
2.Дело в том, что комп подключен к устройствам через Сом1 (единственный порт) и запустить его многократно нельзя.
Записан
Страниц: [1]
  Печать  
 
Перейти в: