Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Linux fatal error: error writing to /tmp/ccyeyo95.s: No space left on device compilation terminated Имею странную ошибку. ПОмогите пожалуйста. fatal error: error writing to /tmp/ccyeyo95.s: No space left on device compilation terminated. :( Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda4 5763648 5470964 0 100% / tmpfs 971284 0 971284 0% /lib/init/rw varrun 971284 116 971168 1%... https://www.cyberforum.ru/ cpp-linux/ thread31598.html Что такое виджеты? C++ Linux
Разбираюсь вот с созданием GUI под ГНОМ с использованием библиотеки GTK (читаю тут http://www.opennet.ru/docs/RUS/gtk_plus/). В голове практически сразу всплывает аналогия между виджетами и виндововскими окнами. В вся эта оконная идеология заложена на уровне API, а как обстоят дела в линуксе? Виджеты это тоже системная идеология или это высокоуровневая оболочка, предоставляемая библиотекой GTK?
C++ Linux pointer на функцию в классе https://www.cyberforum.ru/ cpp-linux/ thread30889.html
есть класс ньютона рафсона: class newt { public: void (*nrfuncv)(int nn, std::vector <double> &v, std::vector <double> &f); // void (*jacobfunc)(std::vector <double> &, std::vector <double> &, std::vector < std::vector<double> > &); // //Funkciya vivoda promejutochnih rezul'tatov // void (*on_subproduct)();//
C++ Linux Не получается создать более 382 потоков нужно создать много нитей. Не хочет создавать более 382 потоков. на 383ем возвращает 12 = ENOMEM = out of memory Проблемма: нужно создать значительно большее кол-во потоков. Вопрос: out of какой memory. RAM ещё хватает с головой. gcc-4.2.4 linux-2.6.27.8 запускал на разных машинах и разных дистрибутивах. Везде одна и та же ошибка на одном и том же потоке https://www.cyberforum.ru/ cpp-linux/ thread30642.html
screenshot C++ Linux
Здравствуйте, помогите кто нибудь решить задачу.. нужна функция которая делает скриншот определенной части экрана и сохраняет в файл какого нибудь распространенного формата(например jpg). Вобщем задача в том чтобы функцию можно было вызвать например при нажатии кнопки которая открывает новую форму с целью сфотографировать эту форму и сохранить скриншот. Все это под линуксом, можно средствами...
C++ Linux Программа клиент-сервер https://www.cyberforum.ru/ cpp-linux/ thread29431.html
Доброго времени суток!Я делаю программу клиент-сервер на C под линуксом(Debian).У меня такой вопрос:мне нужно передовать команды от клиента серверу.Потом сервер получает команды и по ним выполняет определенные действия(вызывает различные функции).Как можно это реализовать?Каким способом?
C++ Linux Программировании порта ввода/вывод usb ! https://www.cyberforum.ru/ cpp-linux/ thread29199.html
Помогите кто чем может . Есть usb устройство подключено к usb входу ! Нужна программа под линукс, которая будет принимать данные с usb устр-ва, в виде какого то кода написанная на C++. Я в этом не силен, но может подскажите что да как и с чего начать...программа вроде не очень сложна.
C++ Linux gcc и include - первый код, куча ошибок
Первый код под, написанный под линуксом тупо в виме. Он же - пример в Липпмане( решил заново изучать ). Накодил book.C: #include <iostream> using namespace std; void readLn() { cout<<"readLn()\n"; }
C++ Linux поле d_type Вот программа ,в ней задается файл и директория в которой исчется файл,если он найден ,то выдается инфа по его размеру ,правам доступа, номер инода и т.д.Проблема в поле d_type структуры dirent,когда я запускаю прогу в среде gnome ,то она работает нормально,но при запуске в КДЕ поле d_type возвращает 0 всегда.Почему это происходит и как можно подругому проверить является ли файл обычным или это... https://www.cyberforum.ru/ cpp-linux/ thread27484.html C++ Linux параллельное программирование Есть компьютер на 8 процов. Там надо поставить считать код. Как наиболее эффективно организовать распараллеливание. Подскажите как протестировать этот код дома на Linux машине с одним процом. А то время доступа к монстру ограничено. Проще говоря, есть набор директив #pragma. Так вот ,разбрасывая эти #pragma дома, получить наиболее эффективное приложение работающее на монстре. struct... https://www.cyberforum.ru/ cpp-linux/ thread26272.html
Имя машины, на которой запущено приложение C++ Linux
Как узнать имя машины , на которой запущенно приложение???
C++ Linux Выравнивание строки текстового файла по центру https://www.cyberforum.ru/ cpp-linux/ thread25823.html
помогите кто может пожалуста уже который день бьюсь и никак не могу сообразить как это сделать!
0 / 0 / 0
Регистрация: 25.03.2009
Сообщений: 5
0

Работа с сигналами - C++ Linux - Ответ 148545

28.04.2009, 18:02. Показов 2851. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо создав дерево процессов :
проц1
проц2 проц3 проц4
проц5 проц6 проц7
(проц1 родитель для проц2,проц3,проц4;проц2 родителем для проц5 и т.д ),посылать сигнал SIGUSR1(от пр1->( пр5,пр6,пр7 );пр5->пр2,пр6->пр3,пр7->пр4;пр2->пр1,пр3->пр1,пр4->пр1 и потом вновь от пр1....)
Непонятно как послать сигнал пр1->пр5,пр6,пр7 при этом не посылая
сигнал пр2, пр3,пр4.Блокировать сигнал можно ,но тогда не понятно как
потом они обработают сигнал от пр5,пр6,пр7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
#include <sys/wait.h>
 
 
int flag;
 
 
 
void sig_handler1(int sig,siginfo_t * siginf,void * temp){
  struct timeval tmv;
  struct timeval lt;
  void * tz;
  gettimeofday(&tmv,tz);
  printf("pid:%d  ppid:%d time:%d get SIGUSR1 from pid:%d\n",getpid(),getppid(),tmv.tv_usec/1000,siginf->si_pid);
  //flag++;
   //printf ("%d %d %ld put SIGUSR1\n", getpid(),getppid(),lt.tv_usec/1000);
  
  //kill (getppid (),SIGUSR1);
  
}
 
 
 
int main ()
{
  sigset_t set,oldset;
  struct sigaction act,oldact;
  pid_t pid[6], ppid,perpid;
  struct timeval lt;
  sigset_t blocked_orig;
  sigset_t blocked_new;
 
  act.sa_flags=SA_SIGINFO; 
  act.sa_sigaction=sig_handler1;
  sigaction(SIGUSR1,&act,&oldact);
  
  flag=0;
  ppid = getpid ();
  pid[2]=fork ();
  if (pid[2] == 0)
      {
      act.sa_flags=SA_SIGINFO; 
      act.sa_sigaction=sig_handler1;
      sigaction(SIGUSR1,&act,&oldact);
      
      printf ("%d %d \n",getpid (),getppid ()); 
      pid[5]=fork ();
      if ((pid[5] == 0) && (getppid () != ppid))
          {
           //printf ("%d %d \n",getpid (),getppid ());
           
           act.sa_flags=SA_SIGINFO; 
           act.sa_sigaction=sig_handler1;
           sigaction(SIGUSR1,&act,&oldact);
           kill (getppid (),SIGUSR1);
          }
        else if (pid[7]>0)
              {
             
             kill (getppid (),SIGUSR1);}
            //kill (getppid (),SIGUSR1);
       // pause ();
      } 
  else if (pid[2] > 0)
 {
      pid[3]=fork ();
      if ((pid[3] == 0) && (pid [2]>0))
         {
          act.sa_flags=SA_SIGINFO; 
          act.sa_sigaction=sig_handler1;
          sigaction(SIGUSR1,&act,&oldact);
 
          //printf ("%d %d \n",getpid (),getppid ());
          pid[6]=fork ();
          if ((pid[6] == 0) && (getppid () != ppid))
            {
            //printf ("%d %d \n",getpid (),getppid ());
           
 
            act.sa_flags=SA_SIGINFO; 
            act.sa_sigaction=sig_handler1;
            sigaction(SIGUSR1,&act,&oldact);
            kill (getppid (),SIGUSR1);
            }
           else if (pid[7]>0)
              {
           
             kill (getppid (),SIGUSR1);}     
              // kill (getppid (),SIGUSR1);
         } 
    
 
      pid[4]=fork ();
      if ((pid[4] == 0) && (pid [3]>0)&& (pid [2]>0))
         { 
           
         act.sa_flags=SA_SIGINFO; 
         act.sa_sigaction=sig_handler1;
         sigaction(SIGUSR1,&act,&oldact);
         
         //printf ("%d %d \n",getpid (),getppid ());
        
         pid[7]=fork ();
         if ((pid[7] == 0) && (getppid () != ppid))
            {
            //printf ("%d %d \n",getpid (),getppid ());
            act.sa_flags=SA_SIGINFO; 
            act.sa_sigaction=sig_handler1;
            sigaction(SIGUSR1,&act,&oldact);
            kill (getppid (),SIGUSR1);
          
            }
          else if (pid[7]>0)
              {
           
             kill (getppid (),SIGUSR1);}
           
         }
  }
  if ((pid[2] >0) && (pid [3]>0)&& (pid [4]>0)) 
  pause();
  
}


Вернуться к обсуждению:
Работа с сигналами C++ Linux
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2009, 18:02
Готовые ответы и решения:

Работа с сигналами
Есть следующее задание: Не разрешать получение сигнала внутри его обработчика. То бишь, при...

Синхронизация процессов сигналами (надежная модель)
Задача: Начальный процесс является управляющим. Он принимает поток ввода с клавиатуры и ...

Как сделать так, чтобы процессы обменивались сигналами?
Такая задача: ◦ вначале в асинхронном режиме запускается процесс P1, который порождает копию —...

Переделать программу, чтобы она работала без каналов, а только с сигналами. Оплата 300 рублей
Здравствуйте, нужно переделать программу, чтобы она работала без каналов, а только с помощью...

1
28.04.2009, 18:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2009, 18:02
Помогаю со студенческими работами здесь

Работа с сигналами в UNIX
Скажите пожалуйста, как можно перехватить сигнал? например ошибку float pointing exception. Т.е...

Работа с сигналами для опытных
Добрый день или вечер, помогите пожалуйста мне сделать эти модели в MATLAB, если можно как нибудь...

Путаница с сигналами и слотами
Всем привет! Ситуация следующая. Есть класс формы в программе клиенте: #include...

Не могу с сигналами разобраться!
Почему сигналы editingFinished () с QLineEdit и bool toggled ( bool checked ) с QCheckBox и void...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru