當我執行程序./test -debug 7 -m播放器時,我使用C語言如何獲取-m -debug的參數值?linux如何用pid獲取進程參數?
我曾嘗試:
char* name = (char*)calloc(1024,sizeof(char));
if(name){
sprintf(name, "/proc/%d/cmdline",pid);
FILE* f = fopen(name,"r");
if(f){
size_t size;
size = fread(name, sizeof(char), 1024, f);
if(size>0){
if('\n'==name[size-1])
name[size-1]='\0';
}
fclose(f);
}
}
但它只返回process.exec的名字 「xargs的-0 <的/ proc/PID/CMDLINE」 可以返回正確的值(mytest的-debug 7 -m我希望進入另一個進程,而不是進程的主要方法。例如,在進程mytest2中,我想用pid(通過pid = getpid()和通過pid獲取mytest進程調試值get mytest進程信息,並獲取調試值)。
'getopt'可以幫助你http://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html – Garf365
對不起,我想進入另一個進程,而不是進程的主要方法。 – lyric
請問您可以提供一些關於您的問題的更多細節。你是否試圖在程序y中傳遞給程序x的參數? –