1 / 1 / 1
Регистрация: 06.05.2011
Сообщений: 109
1

QNX Программное получение командной строки процесса по известному PID

10.04.2019, 21:55. Показов 2948. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Известно, что по PID процесса можно получить его символическое имя, если пользоваться функцией devctl(),
например, так:
C++
1
2
3
4
5
6
7
8
    struct
    {
        procfs_debuginfo info;
        char buff [PATH_MAX];
    } name;
 
    fd = open ("/proc/16254/as", O_RDONLY); // Здесь PID процесса равен 16254, получаем дескриптор процесса fd
    devctl(fd, DCMD_PROC_MAPDEBUG_BASE, &name, sizeof(name), 0); // В буфере name окажется интересующее нас имя процесса
Но вопрос следующий: а как подобными методами получить параметры командной строки, с которыми процесс запускался?
Ведь операционная система всю эту информацию в себе содержит, поскольку команда ps -ef командного интерпретатора
позволяет ее увидеть. Значит, должна быть и возможность программно все это получить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2019, 21:55
Ответы с готовыми решениями:

Получение Pid процесса
Программа определяет размер и заполненность жесткого диска, название звуковой карты и выводит...

Закрытие процесса по его PID и заморозка процесса по его имени или PID
Нужны две вот такие функции закрытие процесса по его PID и заморозка процесса по его имени или PID....

Программное закрытие командной строки
Всем привет! Есть BAT файл, который запускает другой CMD-файл. По завершению выполнения cmd-файла...

Завершение процесса их командной строки
Всем привет. Ребята, помогите. Короче, такая ситуация: мне нужно с командной строки ввести имя...

6
19 / 4 / 1
Регистрация: 19.05.2012
Сообщений: 45
20.07.2019, 11:06 2
Предлагаешь покопаться в диспетчере задач?!
Если не ошибаюсь, то в "/proc/*/cmdline" содержатся сведения по процессу.
0
1 / 1 / 1
Регистрация: 06.05.2011
Сообщений: 109
20.07.2019, 17:54  [ТС] 3
В "/proc/*/cmdline" сведения по процессу не содержатся, так как в QNX такого каталога нет
0
19 / 4 / 1
Регистрация: 19.05.2012
Сообщений: 45
20.07.2019, 19:21 4
Цитата Сообщение от Владимир В Посмотреть сообщение
В "/proc/*/cmdline" сведения по процессу не содержатся, так как в QNX такого каталога нет
То есть в QNX нет каталога "/proc". Я правильно понял?
...Если такой каталог отсутствует, то из-за стандарта POSIX какой-то каталог, содержащий сведения о запущенных процессах всё же должен быть.
Закинь мне ссылку на образ, чтобы азъ исследовал.

Добавлено через 17 минут
В "/proc/*/cmdline" сведения по процессу не содержатся, так как в QNX такого каталога нет
http://www.qnx.com/developers/... etpid.html
getpid()
Смотри её
0
1 / 1 / 1
Регистрация: 06.05.2011
Сообщений: 109
21.07.2019, 12:50  [ТС] 5
Каталоги "/proc/*" для разных запущенных процессов в QNX есть. Иначе я не писал бы в примере open ("/proc/16254/as", O_RDONLY). Нет каталога "/proc/*/cmdline". В Linux они действительно есть
0
19 / 4 / 1
Регистрация: 19.05.2012
Сообщений: 45
25.07.2019, 19:27 6
Нашёл в описании процессов на том сайте?
0
1 / 1 / 1
Регистрация: 06.05.2011
Сообщений: 109
27.07.2019, 20:09  [ТС] 7
Нет.
0
27.07.2019, 20:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2019, 20:09
Помогаю со студенческими работами здесь

Завершение процесса без запуска окна командной строки
Нужен батник который бы автоматически киллял процесс без запуска самого батника(чтобы он быстро...

Получение результатов из командной строки
Не думал, что так зависну над вроде-бы простой задачей-получение данных из командной строки. Для...

Получение данных из командной строки
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Получение ответа из командной строки
Здравствуйте, объясните как можно взять текст из определенной строки полученного ответа, проще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru