Помогите решить хоть что-нибудь.
1. Как управлять правами доступа пользователей к файлам и директориям в ОС UNIX? Приведите соответствующие команды Shell и системные вызовы.
2. Составьте UNIX-программу на языке С, порождающую в качестве дочернего процесса свою копию и ожидающую ее завершения.
3. Как запустить и завершить фоновый (резидентный) процесс в UNIX?
4. Составьте программу на языке Shell, использующую оператор if.
5. Составьте UNIX программу на языке С, порождающую дочерний процесс и передающую ему данные по именованному каналу.
6. Произведите сравнение основных функций создания нового процесса в ОС Windows.

Ответы

Ответ дал: pacixor
0
1. Права доступа управляются с помощью утилиты chmod.

3. Фоновый процесс запускается, как и все остальные, только в конце ставится знак &Завершается процесс командой kill. Например:
kill -15 4213
где параметр -15 один из типов завершения программы, а 4213 его pid.

-15 (sigterm) — попытка осуществить завершение работы так, как это произошло бы при нормальных условиях.
-9 (kill) — принудительное завершение. Самый грубый метод. Гарантированно «убивает» процесс без возможности его корректного завершения.
(но есть и другие параметры)


4. Сравнение двух чисел.

#!/bin/bash
read -p "Введите первое число : " a
read -p "Введите первое число : " b
if [ $a != $b ]
then
    echo "Числа $a и $b не равны."
else
    echo "Числа $a и $b равны."
Ответ дал: pacixor
0
#include <stdio.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>

static int received = 0;

void readUsual(int sig)
{
if (sig == SIGUSR1)
{
received = 1;
}
}
Ответ дал: pacixor
0
int main()
{
printf("%sn","Родительский процесс создан.");
printf("PID родительского процесса = %dn",getpid());
signal(SIGUSR1,readUsual);
pid_t pid2 = fork();
if (pid2 < 0)
printf("Дочерний процесс не может быть создан.n");
else
if (pid2==0)
{
printf("PID доченего процесса = %dn",getpid());
while (!received);
printf("Сигнал принят дочерним процессом.n");
}
else
{
kill(pid2,SIGUSR1);
printf("%sn","Родительский процесс завершен.");
while (1);
}
return 0;
}
Ответ дал: Gogasg
0
Я не знаю, что заказать...
Ответ дал: Gogasg
0
Спасибо ОГРОМНОЕ!!!!
Ответ дал: Gogasg
0
Как можно с вами связаться ?
Вас заинтересует