argc,argv 用命令行编译程序时有用
我们会在定时任务脚本中发现这样的参数,$obj->run($argv[1]);*/30 * * * * /usr/local/bin/PHP /htdocs/test.com/uaqm/commands/test.PHP 1 >/dev/null 2>&1
就像上面那个定时任务,如果我们调用他的时候加上了参数$argv[1],那就代表了,在脚本中在DOS命令行中执行程序名后的第一个字符串
即上面脚本中对应的红色的那个1,如果我们部署了下面所列的定时任务
*/30 * * * * /usr/local/bin/PHP /htdocs/test.com/uaqm/commands/test.PHP 1 >/dev/null 2>&1
*/30 * * * * /usr/local/bin/PHP /htdocs/test.com/uaqm/commands/test.PHP 2 >/dev/null 2>&1
*/30 * * * * /usr/local/bin/PHP /htdocs/test.com/uaqm/commands/test.PHP 3 >/dev/null 2>&1
那么我们认为这个任务分了三个进程在运行,也就是说压力变为原始的三分之一,这样就很容易理解了
下面放出这两个关键字的官方解释。
argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数* argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
argv[argc]为NULL