Конфигурационные файлы INI-стиля могут иметь формат, подобный этому:
[heading1]
key1=value
key2=value
[heading2]
a=1
b=2
etc...
конфигурационные файлы conf-стиля более варьируются. Они могут выглядеть подобными этому:
# A comment
button 1 {
name "hello"
"text" hi.there
"more..." {
"something 123" bla.bla "123"
}
}
# Another comment
button 2 {
# hello
x=2
}
Или возможно немного как это:
# set server port
server.port = 1234
# make everything go faster
machine.turbo_button = activated
Это осуждено для конфигурационных файлов в подобных UNIX системах, чтобы иметь окончания строки стиля DOS/Windows, даже если файл должен иметь '.ini' расширение файла.
При выполнении этого в C необходимо сделать a setsid(2)
в Вашем коде, наряду с некоторыми fork()
и exit()
вызовы. setsid()
имеет этот эффект:
... создает новую сессию, если обработка вызовов не является лидером группы процесса. Обработка вызовов является лидером новой сессии, лидером группы процесса новой группы процесса, и не имеет никакого управления tty.
Это из страницы справочника. В основном, если процесс, это - лидер группы процесса, получает определенные сигналы, каждый идентификатор процесса в той группе процесса получает сигнал. Вы видите механизм для этого в kill(2)
страница справочника. Если PID Вы звоните kill()
на отрицательно, сигнал отправляется в каждый процесс в группе процесса.
Вы также должны fork()
и exit()
в правильных местах. В основном взгляд на инструкции относительно того, как стать процессом демона. Части необходимо сделать:
switch (fork()) {
case -1: return -1;
case 0: break;
default: _exit(EXIT_SUCCESS);
}
setsid();
switch (fork()) {
case -1: return -1;
case 0: break;
default: _exit(EXIT_SUCCESS);
}
Читайте о становлении процессом демона для большего количества объяснения позади этого кода.
Существует 2 пути к фону процесс и затем продолжают его. Если команда была запущена и затем фон с &
можно использовать эту команду для разъединения его от терминала.
$ disown -a
Если Вы хотите изолировать процесс от зависать сигнала (ПОНУКАЮТ) и также разъединяют его от терминала (tty), можно использовать, это управляет также:
$ nohup <cmd>
Любой консольный вывод будет записан в файл, nohup.out
.
Таким образом, я предположил бы, что Вы могли сделать что-то умное после того, как процесс был фоном с disown -a
управляйте, была бы одна идея.
Поскольку другие идеи смотрят на мой ответ на этот вопрос U&L, названный: Где ветвление () на fork-бомбе :() {:|: и};:?.
Я смотрел бы на этот поток от Так, названный: C: должностное лицо/ветвление> Более не существующие процессы, конкретно этот ответ @Gilles.