C программа, которая выполняет команду с аргументом из argv и выводом команды print и pids - PullRequest
0 голосов
/ 26 апреля 2020

Я новичок в C и пытаюсь понять, как мне добиться следующего:

./mycprog uname -r
5.3.0-42-generic
1234,5678

Где 1234 - это пид mycprog, а 5678 - это пид uname

Спасибо, Цви

1 Ответ

1 голос
/ 26 апреля 2020

argv - это массив строк, каждая из которых содержит аргумент командной строки, включая имя программы, в вашем случае:

argv[0]  ./mycprog 
argv[1]  uname 
argv[2]  -r

argc подсчитывает количество аргументов в вашем case, 3.

Вы можете использовать их как sh. Если у вас возникли проблемы, вы можете найти на сайте обширную документацию о том, как их использовать, например, Относительно 'main (int arg c, char * argv [])'

To достичь того, что вам нужно, я бы указал вам:

getpid(), чтобы получить pid программы.

getuid(), чтобы получить пользователя id.

getopt() также хорошая опция для анализа аргументов командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...