The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите чайнику."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите чайнику."
Сообщение от Teap0t Искать по авторуВ закладки(ok) on 18-Авг-04, 12:14  (MSK)
Доброго времени суток.
Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного приложения или команды ?
например:  fetch,lynx,trafshow.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите чайнику."
Сообщение от jd Искать по авторуВ закладки on 18-Авг-04, 12:43  (MSK)
>Доброго времени суток.
>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>приложения или команды ?
>например:  fetch,lynx,trafshow.

man system(3), exec(3), etc

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите чайнику."
Сообщение от chip Искать по авторуВ закладки(??) on 18-Авг-04, 16:54  (MSK)
>Доброго времени суток.
>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>приложения или команды ?
>например:  fetch,lynx,trafshow.

fork(2), exec(3), popen(3)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите чайнику."
Сообщение от Teap0t Искать по авторуВ закладки(ok) on 20-Авг-04, 18:07  (MSK)
Большое спасибо - за помощь.
Есть еще пару вопросов.
1- как преобразовать на Си число в строку?
2- где указывать глобальные переменные?

Не сочтите за труд- жду ответа не теряя времени и читая мануал.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Помогите чайнику."
Сообщение от chip Искать по авторуВ закладки(??) on 21-Авг-04, 13:11  (MSK)
>Большое спасибо - за помощь.
>Есть еще пару вопросов.
>1- как преобразовать на Си число в строку?

char buf[<SIZE>];
sprintf(buf, "%d", <NUMBER>);

, где <SIZE> - соотвественно размер буфера
      <NUMBER> - число, которое будет "преобразовано" в строку. Результат в buf


>2- где указывать глобальные переменные?

int global_variable;

int
main() { return 0; }


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Помогите чайнику."
Сообщение от Bonny Искать по авторуВ закладки on 25-Авг-04, 13:39  (MSK)
>>Доброго времени суток.
>>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>>приложения или команды ?
>>например:  fetch,lynx,trafshow.
>
>fork(2), exec(3), popen(3)

Мне тоже нужна ваша помощь, пожалуйста ответьте...
Я программирую в Suse Linux 7.3, у меня возникла проблемка, но man пока не установлен и вообще нет документации...

При использовании fork в таблице состояния родительского процесса дочерний процесс показан как зомби, хотя дочерний запускается и отрабатывает нормально. Анализируя ситуацию, заметила, что родительский процесс не ждет завершения дочернего. В интернете прочла, что существуют опции линукса __WCLONE, __WALL, __WNOTHEREAD, которые определяют - ожидать или нет.
Вопрос следующий: как проверить значение этих опций и переустановить при необходимости?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Помогите чайнику."
Сообщение от klalafuda emailИскать по авторуВ закладки on 25-Авг-04, 13:42  (MSK)
>>>Доброго времени суток.
>>>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>>>приложения или команды ?
>>>например:  fetch,lynx,trafshow.
>>
>>fork(2), exec(3), popen(3)
>
>Мне тоже нужна ваша помощь, пожалуйста ответьте...
>Я программирую в Suse Linux 7.3, у меня возникла проблемка, но man
>пока не установлен и вообще нет документации...
>
>При использовании fork в таблице состояния родительского процесса дочерний процесс показан как
>зомби, хотя дочерний запускается и отрабатывает нормально. Анализируя ситуацию, заметила, что
>родительский процесс не ждет завершения дочернего. В интернете прочла, что существуют
>опции линукса __WCLONE, __WALL, __WNOTHEREAD, которые определяют - ожидать или нет.
>
>Вопрос следующий: как проверить значение этих опций и переустановить при необходимости?

man signal -> SIGCHLD
man wait/waitpid

все остальное от лукавого

// wbr

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Помогите чайнику."
Сообщение от Bonny Искать по авторуВ закладки on 26-Авг-04, 10:11  (MSK)
>>>>Доброго времени суток.
>>>>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>>>>приложения или команды ?
>>>>например:  fetch,lynx,trafshow.
>>>
>>>fork(2), exec(3), popen(3)
>>
>>Мне тоже нужна ваша помощь, пожалуйста ответьте...
>>Я программирую в Suse Linux 7.3, у меня возникла проблемка, но man
>>пока не установлен и вообще нет документации...
>>
>>При использовании fork в таблице состояния родительского процесса дочерний процесс показан как
>>зомби, хотя дочерний запускается и отрабатывает нормально. Анализируя ситуацию, заметила, что
>>родительский процесс не ждет завершения дочернего. В интернете прочла, что существуют
>>опции линукса __WCLONE, __WALL, __WNOTHEREAD, которые определяют - ожидать или нет.
>>
>>Вопрос следующий: как проверить значение этих опций и переустановить при необходимости?
>
>man signal -> SIGCHLD
>man wait/waitpid
>
>все остальное от лукавого
>
>// wbr

Спасибо!

Справилась с образующимися зомби, определив
signal(SIGCHLD, SIG_IGN);

А как это же из shell'а сделать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Помогите чайнику."
Сообщение от Murr Искать по авторуВ закладки(??) on 03-Сен-04, 17:43  (MSK)
>
>А как это же из shell'а сделать?


shell обычно сам обрабатывает завершение своих процессов.
чтобы повесить на завершение процессов опр. действие см. man trap
или help trap

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Помогите чайнику."
Сообщение от Андрей emailИскать по авторуВ закладки(??) on 04-Сен-04, 11:02  (MSK)
>>>Доброго времени суток.
>>>Есть вопрос - как мне на С (под FreeBSD) выполнить запуск определенного
>>>приложения или команды ?
>>>например:  fetch,lynx,trafshow.
>>
>>fork(2), exec(3), popen(3)
>
>Мне тоже нужна ваша помощь, пожалуйста ответьте...
>Я программирую в Suse Linux 7.3, у меня возникла проблемка, но man
>пока не установлен и вообще нет документации...
>
>При использовании fork в таблице состояния родительского процесса дочерний процесс показан как
>зомби, хотя дочерний запускается и отрабатывает нормально. Анализируя ситуацию, заметила, что
>родительский процесс не ждет завершения дочернего. В интернете прочла, что существуют
>опции линукса __WCLONE, __WALL, __WNOTHEREAD, которые определяют - ожидать или нет.
>
>Вопрос следующий: как проверить значение этих опций и переустановить при необходимости?

Если ещё не разобралась - надо использовать waitpid для ожидания процессса.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Помогите чайнику."
Сообщение от Bonny Искать по авторуВ закладки on 14-Сен-04, 06:59  (MSK)
>Если ещё не разобралась - надо использовать waitpid для ожидания процессса.

Я писала 25 августа: "родительский процесс не ждёт завершения дочернего", т. е. я уже использовала wait.
После переопределения действия по сигналу SIGCHLD, с wait стало нормально, но почему-то родитель получает статус ненормального завершения дочернего процесса, хотя тот завершается - ok.
Ох, уж этот LINUX... С AIX'ом такой проблемы не было...


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру