我試圖運行以線性順序()的OpenSSL多行使用execlp:如何在C中運行多個execlp()?
execlp("openssl","genrsa","-out","rsaprivatekey.pem","2048",(char*) 0);
printf("RSA private success");
execlp("openssl","rsa","-in","rsaprivatekey.pem","-pubout","-out","rsapublickey.pem",(char*) 0);
printf("RSA public success");
execlp("openssl","dgst","-sha1","-sign","rsaprivatekey.pem","-out","1.cipher","1",(char*) 0);
printf("SHA1 sign success");
execlp("openssl","dgst","-sha1","-verify","rsapublickey.pem","-signature","1.cipher","1",(char*) 0);
printf("SHA1 verify success");
在這種情況下,僅在第一行得到執行。我嘗試將所有內容合併到一個execlp()中,並使用& &來分隔命令,但仍然沒有結果。 有人可以幫我解決這個問題嗎?
謝謝!那就是訣竅。 – drum
標準模式是一個'fork(2)',後面是'exec(2)',而不是'system(3)',用於產生子進程。 –