当前位置: 技术问答>linux和unix
linux 下的c语言编程
来源: 互联网 发布时间:2017-05-30
本文导语: 输入文件的路径(用户自己定义),如何实现此功能的调用在c语言中,类似于任务管理器中输入创建新任务的功能,如何通过c代码实现自主控制。求大神指点一二,最好能附代码。。。。纠结死了。这个问题。。。...
输入文件的路径(用户自己定义),如何实现此功能的调用在c语言中,类似于任务管理器中输入创建新任务的功能,如何通过c代码实现自主控制。求大神指点一二,最好能附代码。。。。纠结死了。这个问题。。。。。
|
看这帖子很久没结感觉也是............
不说废话了,我自己弄了一个给LZ看下,不过到现在我还是不明白LZ说的文件时二进制文件,还是shell脚本文件,所以我写了一个能运行二进制文件的程序,不过它还是可以执行shell的命令的,下面是代码
//task.c
//实现运行指定任务的程序
#include
#include
#include
int is_shell(char *c)
{
int i;
for(i=0;c[i];i++)
if(c[i]=='/') return 0;
return 1;
}
int
main(int argc,char* argv[])
{
char **arg;
int i;
int start=is_shell(argv[1]);
if(argc==2 && !start)
{
execvp(argv[1],NULL);
return 0;
}
else
arg = (char **) malloc((argc-2+start)*sizeof(char*));
if(start)
{
arg[0] = (char *) malloc(strlen(argv[1])+1);
strcpy(arg[0],argv[1]);
}
for(i=1;i
不说废话了,我自己弄了一个给LZ看下,不过到现在我还是不明白LZ说的文件时二进制文件,还是shell脚本文件,所以我写了一个能运行二进制文件的程序,不过它还是可以执行shell的命令的,下面是代码
//task.c
//实现运行指定任务的程序
#include
#include
#include
int is_shell(char *c)
{
int i;
for(i=0;c[i];i++)
if(c[i]=='/') return 0;
return 1;
}
int
main(int argc,char* argv[])
{
char **arg;
int i;
int start=is_shell(argv[1]);
if(argc==2 && !start)
{
execvp(argv[1],NULL);
return 0;
}
else
arg = (char **) malloc((argc-2+start)*sizeof(char*));
if(start)
{
arg[0] = (char *) malloc(strlen(argv[1])+1);
strcpy(arg[0],argv[1]);
}
for(i=1;i