system.c

来自「一组基础的C库的实现」· C语言 代码 · 共 50 行

C
50
字号
/* $Id: system.c 262 2006-11-16 07:34:57Z solar $ *//* Release $Name$ *//* system( const char * )   This file is part of the Public Domain C Library (PDCLib).   Permission is granted to use, modify, and / or redistribute at will.*/#include <stdlib.h>/* This is an example implementation of system() fit for use with POSIX kernels.*/#include <unistd.h>#include <sys/wait.h>int system( const char * string ){    char * const argv[] = { "sh", "-c", (char * const)string, NULL };    if ( string != NULL )    {        int pid = fork();        if ( pid == 0 )        {            execve( "/bin/sh", argv, NULL );        }        else if ( pid > 0 )        {            while( wait( NULL ) != pid );        }    }    return -1;}#ifdef TEST#include <_PDCLIB_test.h>#define SHELLCOMMAND "echo 'SUCCESS testing system()'"int main(){    BEGIN_TESTS;    TESTCASE( system( SHELLCOMMAND ) );    return TEST_RESULTS;}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?