C程序,执行带有argv参数的命令,打印命令输出和PID
我是C语言的新手,我正试图弄清楚我是如何实现以下目标的:C程序,执行带有argv参数的命令,打印命令输出和PID,c,linux,C,Linux,我是C语言的新手,我正试图弄清楚我是如何实现以下目标的: ./mycprog uname -r 5.3.0-42-generic 1234,5678 其中1234是mycprog的pid,5678是uname 谢谢, Zviargv是一个字符串数组,每个字符串包含一个命令行参数,包括程序名,在您的情况下: argv[0] ./mycprog argv[1] uname argv[2] -r argc统计参数的数量,在您的示例中为3 你可以随心所欲地使用它们。如果您遇到问题,您可以在
./mycprog uname -r
5.3.0-42-generic
1234,5678
其中1234
是mycprog
的pid,5678
是uname
谢谢,
Zvi
argv
是一个字符串数组,每个字符串包含一个命令行参数,包括程序名,在您的情况下:
argv[0] ./mycprog
argv[1] uname
argv[2] -r
argc
统计参数的数量,在您的示例中为3
你可以随心所欲地使用它们。如果您遇到问题,您可以在网站上找到大量关于如何使用这些工具的文档,例如
为了实现您的需求,我将向您指出:
获取程序的pid
获取用户id
也是解析命令行参数的一个很好的选项。您需要告诉我们更具体的部分,您可以执行哪些操作,哪些操作有困难。您知道如何使用
fork
和exec
?您知道如何等待子进程吗?您知道如何获取当前进程的id吗?