• Как установить свой обработчик сигналов SIGUSR1 и SIGUSR2?

    man signal

    #include <signal.h>
    void sigprocess (int sign){
     /* process signal here */
    }
    
    ...
    int main(){
    ...
     signal (SIGUSR1, sigprocess);
    ...
    }


    P.S. если обработчик не нужен, можно
    signal(SIGUSR1, SIG_IGN);
    Ответ написан
    Комментировать
  • Какие различия программирования под UNIX и Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Системному программированию? Да, базовые знания приобретете, собственно, изучите POSIX api, который в большинстве своем полностью идентичен для всех юниксов. Сможете писать утилиты и демоны, обмениваться данными через сокеты, каналы, сообщения и общую память, синхронизироваться через мьютексы и семафоры. Точно пойдет на пользу, так как будете знать, что за неонка у них внутри. Более того, эти примеры скорее всего будут работать и в линуксе. Например библиотека winsock полностью повторяет posix, и если из нее использовать только posix-вызовы, то ваша программа будет работать и под виндовс и под любую posix-совместимую систему.
    Однако, в каждой системе существуют еще с десяток, если не сотню, собственных механизмов на всякие случаи. Вот с ними придется разбираться отдельно для каждой системы, но это уже специализация.
    Стоит ли изучать? Точно стоит, и эти знания не пропадут даром. Все юниксы достаточно похожи, изучайте!
    Добавлю, вот ядра и внутренние механизмы у разных юниксов могут различаться, причем радикально, особенно то, что касается драйверов, расширений самого ядра и его окружения.
    Ну и само утверждение немного лукавое, и да, и нет. Дьявол в мелочах, увы.
    Ответ написан
    Комментировать