mySpawn
Beispiel für die Anwendung von posix_spawn()
- myspawn.c
// test von posix_spawn /rb
#include <stdio.h>
#include <unistd.h>
int mySpawn(char *,char *,char *);
//----------------------------------------------------
int main(int argc, char *argv[])
{
int ret = 0;
char *prog = "/usr/bin/avscan";
char *arg = "--batch";
char *buf = "/install/avira/eicar.com";
//char *buf = "/etc/fstab";
ret = mySpawn(prog,arg,buf);
printf("exitstatus von avscan: %d\n",ret);
return 0;
}
//----------------------------------------------------
int mySpawn(char *prog,char *arg,char *scanfile)
{
char* buf1[]={prog,arg,scanfile,NULL};
int ret;
int status = -1;
pid_t pid;
ret = posix_spawn(&pid,buf1[0],NULL,NULL,buf1,NULL);
if(ret == 0)
{
wait(&status);
}
else
{
perror("posix_spawn");
}
return status ;
}
//----------------------------------------------------