C语言 延迟执行 某个命令

笔记:C语言延迟执行某条命令


/*
C语言 延迟执行 某个命令
*/
int delay_exec(char *command, int delaySeconds)
{
	int pid = 0;
	int status = 0;
	extern char **environ;

	if ( command == 0 )
		return 1;
	pid = fork();
	if ( pid == -1 )
		return -1;

	if ( pid == 0 ) {
		char *argv[4];
		argv[0] = "sh";
		argv[1] = "-c";
		argv[2] = command;
		argv[3] = 0;

		if(delaySeconds)
		{
			sleep(delaySeconds);
		}

		execve("/bin/sh", argv, environ);
		exit(127);
	}


	return status;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注