C程序,执行带有argv参数的命令,打印命令输出和PID

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 你可以随心所欲地使用它们。如果您遇到问题,您可以在

我是C语言的新手,我正试图弄清楚我是如何实现以下目标的:

./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吗?