获取cmdline参数

本文展示了一个C语言程序示例,该程序用于读取当前进程的命令行参数。通过打开 /proc/self/cmdline 文件并逐字符读取,最终输出完整的命令行字符串。
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
 #include <unistd.h>
#include<string.h>


int main(int argc, char* argv[])
{
int fd;
int ret = 1;
int len = 0;
char fd_name[255];
char str1[255]= {'\0'};
char cmdline[255]= {'\0'};


sprintf( fd_name,"/proc/%d/cmdline",getpid());
fd = open( fd_name,O_RDONLY);
while(ret)
{
ret = read(fd,str1,sizeof(str1));
if(ret == 0)
{break;}
len += strlen(str1)+1;
lseek(fd,len,SEEK_SET);
strncat(cmdline,str1,strlen(str1));
strcat(cmdline," ");
printf("read %d:%s\n",(int)strlen(cmdline),cmdline);
}
cmdline[strlen(cmdline)-1] = '\0';
printf("read %d:%s\n",(int)strlen(cmdline),cmdline);


return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值