Напишите маленькую программу, сонный, которая получает количество циклов из командной строки - PullRequest
2 голосов
/ 04 ноября 2019

Мне нужна помощь в моей задаче. Вопрос заключается в том, чтобы написать маленькую программу sleepy, которая получает счетчик циклов из командной строки: sleepy n, где n - количество секунд, в течение которых должна выполняться программа. Реализуйте эту синхронизацию, поместив цикл n раз в сон (1) - это переведет программу в спящий режим на одну секунду n раз перед выходом. В каждом цикле выведите идентификатор процесса и количество циклов, чтобы можно было идентифицировать этот конкретный процесс.

Ответы [ 2 ]

2 голосов
/ 04 ноября 2019

Цикл выполняется один раз для каждого аргумента из командной строки (argc), тогда как необходимо проанализировать количество итераций из (первых) аргументов командной строки (argv [1])

Вы также хотите изменить сон на 1 секунду, согласно требованию.

int count = atoi(argv[1]) ;
for (counter = 0; counter<count ; counter++) {
   sleep (1) ;
   ...
}
1 голос
/ 04 ноября 2019

Изменения:

  1. проверьте, что argc равно 2 (сонный и n).
  2. счетчик должен зацикливаться до argv[1]
  3. сна для1 секунда в каждой итерации цикла.
    if (argc == 2) {
    for (counter = 0; counter<atoi(argv[1]); counter++) {

        sleep(1); // sleep function which is taking the number from cmd and performing afterwards.
        printf("Awake!\n");

        printf("\n count[%d]",counter); // printing loop counting, and argument passed in cmd

        printf("Process ID: %d\n",p_id); //printing the process ids
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...