программирование

21-01-2012 Ответы к экзамену по ОС - Операционные Системы (версия 21-01-2012)

[основная тема]
Ответы на 90% были составлены Куликовым Николаем и Тимофеевым Никитой
За что им спасибо )) Надеюсь, они не против того. чтобы они были и здесь)
Я же внёс лишь некоторые дополнения и уточнения.

С этой страницы ссылки на отдельные ответы - иначе там очень много.

создать поток в неактивном состоянии си линукс

Спрашиваю об этом здесь


Не надёжная в некоторых случая альтернатива
такова - можно сразу же после создания потока в его контексте определить его собственный id а затем , уже зная свой номер этот поток может следующим же действием остановить себя отправив себе сигнал SIGSTOP

сигнал, приостанавливающий выполнение потока (нити) линукс си

сигнал

SIGSTOP

и есть сигнал, приостанавливающий выполнение потока (нити) линукс си

получить id нити линукс

получить id нити в линукс можно вызвав функцию gettid(2) =

#include <sys/types.h>
pid_t gettid(void);

например =

#include <sys/types.h>
main
{
  pid_t my_tid;
  my_tid = gettid();
}

pthread_kill(3) функция - отправить сигнал потоку

отправить сигнал потоку в линукс можно с помощью функции pthread_kill(3)
сигнатура функции =

#include <signal.h>
int pthread_kill(pthread_t thread, // идентификатор нити
                 int sig); // сигнал , который отправляем
_____________________________________________
Источники(читать подробнее)=
Ключевые слова и фразы(для поиска)=

man страницы все разделы , все страницы

хорошо представлены здесь = http://linux.die.net/man/

SIGHUP сигнал

SIGHUP - стандартным действием программы при получении такого сигнала является завершение собственной работы

Системный вызов sigprocmask()

Системный вызов sigprocmask() - служит для редактирования списка, блокированных в данный момент сигналов.

сигнатура =

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); 

пример вызова =

Pages

Subscribe to RSS - программирование