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