![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Man with no name |
|
|||
|
Unregistered |
Люди, расскажите плиз, как работает функция wait()
просто есть такой кускусок: ... argv++; execvp(argv[0],argv); wait(&status); <<<<вот тут надо дождаться завершения программы в argv; printf("Exit code: ", status); <<< и вывести exitcode ... программа запускает процесс, и в случае кривых аргументов выводит большой status, иначе (например пишу ls -l ) всё работает, но printf не печатается... В чём дело? И как могу потом узнать время выполнения программы. |
|||
|
||||
| dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 12 Всего: 25 |
прежде чем делать execvp делаи
if (fork()==0) { execvp(argv[0],argv); } в противном случае ты просто выполняешь argv процесс в своеи програме, перетерая ее. Добавлено @ 13:04 время выполнения можно измерить коммандои time ./program.out -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
| dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 12 Всего: 25 |
Это сообщение отредактировал(а) dargaard - 27.9.2004, 13:17 -------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
да, я понял, только вот ещё ведь и первый процесс выполняется, и поэтому в результате выводится в случае ошибки
Exit code: 124415241 Exit code: 0 что то не смог зашарить с проверкой что за процесс... А так всё нормально, печатает 0... И ещё, какая функция там за таймер отвечает, т.е. надо засеч начало и конец исполнения для подсчёта времени исполнения. Но всё же спасибо за подсказку... |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
сорри, про таймер понял, не заметил там
|
|||
|
||||
| dargaard |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 12 Всего: 25 |
Добавлено @ 22:58 есть еше clock() функция
-------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
||||||
|
|||||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |