19

Вопрос по linux, c – Неблокирующая версия системы ()

Я хочу запустить процесс из моей c-программы, но я не хочу ждать завершения этой программы. Я могу запустить этот процесс, используя system (), но это всегда ждет. Кто-нибудь знает о «неблокирующем»? версия, которая вернется, как только процесс будет запущен?

[Правка - Дополнительное требование] Когда исходный процесс завершится, дочерний процесс должен продолжить работу.

  • Error: User Rate Limit ExceededorError: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от Simon Hodgson
  • Error: User Rate Limit Exceeded

    от Simon Hodgson
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceededsystem()Error: User Rate Limit Exceeded

    от puk
5 ответов
  • 19

    Error: User Rate Limit Exceeded system("ls -l &");

    Error: User Rate Limit Exceeded

     system("ls -l &");
    

    Error: User Rate Limit Exceeded

  • 1

    Error: User Rate Limit Exceeded

  • 0

    Error: User Rate Limit Exceeded

    pid = fork();
    
    if (!pid)
    {
        system("command here &");
    }
    
    exit(0);
    

    why

  • 16

    Error: User Rate Limit Exceeded

    fork()exec()waitpid()?

    // ... your app code goes here ...
    pid = fork();
    if( pid < 0 )
        // error out here!
    if( !pid && execvp( /* process name, args, etc. */ )
        // error in the child proc here!
    // ...parent execution continues here...
    

  • 7

    Error: User Rate Limit Exceeded

    .