Linux 版 (精华区)
发信人: qubo (qubo), 信区: Linux
标 题: [合集]得到进程的cmdline
发信站: 哈工大紫丁香 (2003年11月10日13:32:38 星期一), 站内信件
────────────────────────────────────────
sino (柠檬红茶) 于 2003年10月17日15:45:01 星期五 说道:
自己用到了,与大家分享
#include "stdio.h"
#define MAX 2000
int main(int argc,char **argv)
{
FILE *fin;
char buf[MAX];
int i, pid;
if (argc!=2) return 1;
sprintf(buf, "/proc/%s/cmdline", argv[1]);
if ((fin = fopen(buf, "rb"))==NULL) return 1;
fread(buf, 1, MAX, fin);
fclose(fin);
for (i=1;i<MAX;i++) {
if (buf[i-1]==0)
if (buf[i]==0) break; else buf[i-1]=0x20;
}
printf("%s\n",buf);
return 0;
}
────────────────────────────────────────
yuni (我要我的自由) 于 2003年10月20日13:16:59 星期一 说道:
:q
【 在 sino (柠檬红茶) 的大作中提到: 】
: 自己用到了,与大家分享
: #include "stdio.h"
: #define MAX 2000
: int main(int argc,char **argv)
: {
────────────────────────────────────────
sino (柠檬红茶) 于 2003年10月20日16:31:40 星期一 说道:
?
【 在 yuni (我要我的自由) 的大作中提到: 】
: :q
: 【 在 sino (柠檬红茶) 的大作中提到: 】
: : 自己用到了,与大家分享
: : #include "stdio.h"
: : #define MAX 2000
: : int main(int argc,char **argv)
: : {
────────────────────────────────────────
sino (柠檬红茶) 于 2003年10月21日12:19:11 星期二 说道:
比如我的系统上,xinetd的pid是863
[bz@AVS compile]$ ./a.out 863
xinetd -stayalive -reuse -pidfile /var/run/xinetd.pid
普通用户也可以,需要有/proc支持
其实这个程序有点问题,断句按0x0000不准确。
【 在 sino (柠檬红茶) 的大作中提到: 】
: 自己用到了,与大家分享
: #include "stdio.h"
: #define MAX 2000
: int main(int argc,char **argv)
: {
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.152毫秒