execl
命令的用法是什麼?execl函數在C語言中的使用
excel("/bin/sh", "sh", "-c", cmdstring, (char *)0);
_exit(127);
誰能解釋execl
命令使用每個語句? 而且爲什麼只有_exit(127)
而不是exit(0)
。
什麼是127
數字表示?
execl
命令的用法是什麼?execl函數在C語言中的使用
excel("/bin/sh", "sh", "-c", cmdstring, (char *)0);
_exit(127);
誰能解釋execl
命令使用每個語句? 而且爲什麼只有_exit(127)
而不是exit(0)
。
什麼是127
數字表示?
execl
是幾個函數之一(exec*
),它們讓您用指定爲第一個參數的文件(可執行文件)提供的進程替換當前的進程代碼。你的過程的整個空間被新鮮的空間取代......其他參數作爲命令的參數。進程是控制某些代碼執行的一種系統結構。 exec
讓你變異那個代碼。
在這種情況下exec
成功,則舊代碼遺忘,你將永遠無法重新進入它。這不是函數調用。
如果exec
失敗,則執行繼續,在您的情況下將調用_exit
。 _exit
是一個系統功能,旨在阻止當前進程的執行,導致其死亡。 exit
是一個C函數,它在C級執行相同的操作,大致關閉C流並調用_exit
。
(127
)提供的值被用於這個處理的結束的一些信息傳達給啓動它的過程(過程是通過使用的fork
發起一個呼叫克隆的處理)。該值可以是任何八位值,但0用於表示正確終止的進程,以及任何其他非0值表示在某種異常情況下終止的進程。
您可以在終端中鍵入 man execl
以獲取有關execl
命令的更多信息。
什麼語言/操作系統/環境是嵌入的'excel'功能? (最重要的問題)。 '_exit(127)'是標準的* nix返回碼,用於表示'找不到命令'。祝你好運。 – shellter
沒有「UNIX編程語言」之類的東西。你的意思是C? (你可能會誤讀'execl'或'execle'?) – jwodder