getpid() и getppid()

Модератор: Модераторы разделов

verbatium
Сообщения: 5

getpid() и getppid()

Сообщение verbatium »

Тут такая ситуация, товарищи!
Задание: написать программу, печатающую значения pid и ppid текущего процесса.
Написал:
#include <sys/types.h>
#include <unistd.h>
int main () {
int pid, ppid;
pid=getpid();
ppid=getppid();
printf("My ID - %d, Parent ID - %d\n", pid, ppid);
return 0;
};
Всё очень даже подробно!
Нужно ещё оформить тест в виде такой таблички:
|-------------------------------------------------|
| Input | Output |
|-------------------------------------------------|
| ./1.out | My ID-3929,Parent ID-3696 |
|-------------------------------------------------|
Пошёл сдавать. Запускаю прогу, она пишет, понятное дело, другие значения. Препод спрашивает, почему значения в тесте отличаются от того, что он видит. Я отвечаю, что в тот момент когда я писал тест ОС генирировала одни значения, сейчас на другой машине она генерирует другие. Он говорит, тогда тест плохой. Задание не принимаю.

Помогите, как избавиться от этого недочёта - либо тест, либо прогу модифицировать?
Спасибо сказали:
Nab
Сообщения: 257

Re: getpid() и getppid()

Сообщение Nab »

Ужос :blink:

Пиши заяву на кафедру, в деканат или в ректорат о несоответствии препода занимаемой должности :)

Или кто-то из вас прикалуется, или он над Вами или Вы над нами :)

Или попытайся сам перевестись к нормальному преподу...
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
verbatium
Сообщения: 5

Re: getpid() и getppid()

Сообщение verbatium »

Я над вами не прикалываюсь. Всё реально.
Думаю, написать в проге вечный цикл перед ретурном, а вызывать асинхронно с ps. Тем саммым показать, что цифры точны. задача выполнена. Единственное, что прийдётся процесс убивать через килл -9
А в тестах вместо цифр написать xxxx
Спасибо сказали:
Nab
Сообщения: 257

Re: getpid() и getppid()

Сообщение Nab »

Вообщето тут задача ваших отношений, сможешь ли ты убедить препода что он не прав или нет.

Попроси его верно решить эту задачу, скажи что ты уверен в верности своего решения, и по другому это решить нельзя... Пускай покажет свое решение....

Ну или сделай так

Код: Выделить всё


#include <sys/types.h>
#include <unistd.h>
int main () {
int pid, ppid;
pid=getpid();
ppid=getppid();
printf("Start MyProg\n");
printf("My ID - %d, Parent ID - %d\n", pid, ppid);
sleep 5;
printf("Stop MyProg\n");

return 0;
};


А запускай так

Код: Выделить всё


myprog &; ps | grep myprog


Этим ты запустишь в фоне свою прогу, а через пять секунд она вывалиться.
И за это время ps успеет отработать...

Или можешь запустить на разных консолях
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
verbatium
Сообщения: 5

Re: getpid() и getppid()

Сообщение verbatium »

Пробовал! Думал прокатит!" Но gcc ругается на строчку со слипом:
error: syntax error before numeric constant!

Насколько я понимаю задать pid ручками невозможно, тем более ppid (те. pid оболочки). Поэтому он наверное хочет от меня подтверждения того, что цифры в тесте не наобум взятые. А это покажут равные значения ppid и pid, выведенные ps и прогой.
Спасибо сказали:
Nab
Сообщения: 257

Re: getpid() и getppid()

Сообщение Nab »

Блин ну торможу я :)
не родной мне С, я чичас вообще за перлом сижу :)

конечно

Код: Выделить всё

sleep(5);
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали:
verbatium
Сообщения: 5

Re: getpid() и getppid()

Сообщение verbatium »

Nab писал(а):
17.11.2005 22:19

Код: Выделить всё

sleep(5);

Ну как я сам не догадался???
Стыдно! Спасибочки!
Спасибо сказали:
Аватара пользователя
d_Sun
Сообщения: 291

Re: getpid() и getppid()

Сообщение d_Sun »

verbatium писал(а):
17.11.2005 21:08
Тут такая ситуация, товарищи!
Задание: написать программу, печатающую значения pid и ppid текущего процесса.
Написал:
#include <sys/types.h>
#include <unistd.h>
int main () {
int pid, ppid;
pid=getpid();
ppid=getppid();
printf("My ID - %d, Parent ID - %d\n", pid, ppid);
return 0;
};
Всё очень даже подробно!
Нужно ещё оформить тест в виде такой таблички:
|-------------------------------------------------|
| Input | Output |
|-------------------------------------------------|
| ./1.out | My ID-3929,Parent ID-3696 |
|-------------------------------------------------|
Пошёл сдавать. Запускаю прогу, она пишет, понятное дело, другие значения. Препод спрашивает, почему значения в тесте отличаются от того, что он видит. Я отвечаю, что в тот момент когда я писал тест ОС генирировала одни значения, сейчас на другой машине она генерирует другие. Он говорит, тогда тест плохой. Задание не принимаю.

Помогите, как избавиться от этого недочёта - либо тест, либо прогу модифицировать?


Могу посоветовать - убить препода! :D
Моя подпись сильно длинная :)
Спасибо сказали:
Nab
Сообщения: 257

Re: getpid() и getppid()

Сообщение Nab »

d_Sun писал(а):
18.11.2005 12:02
Могу посоветовать - убить препода! :D


Ну блин, злой ты :D

Хотя в чем-то прав :)
Нефиг таких к преподавательству допускать :(
Чтобы правильно задать вопрос, нужно знать больше половины ответа...
FREESCO in Ukraine
Спасибо сказали: