QCoreApplication a(argc, argv);......return a.exec();
return 0;
C++ (Qt)void daemonize(){ if(QCoreApplication::arguments().contains("--no-daemon")) return; switch (fork()) { case 0: break; case -1: exit(errno); default: exit(0); }}
C++ (Qt)int main(int argc, char **argv){ QCoreApplication app(argc, argv); new MainObject; daemonize(); return app.exec();}
#include <QtCore/QCoreApplication>#ifdef Q_OS_LINUX#include <unistd.h>#endifint main(int args, char* argv[]){#ifdef Q_OS_LINUX daemon(0, 0);#endif QCoreApplication app(args, argv);... return app.exec();}
Cintdaemon(nochdir, noclose) int nochdir, noclose;{ int fd; switch (__fork()) { case -1: return (-1); case 0: break; default: _exit(0); } if (__setsid() == -1) return (-1); if (!nochdir) (void)__chdir("/"); if (!noclose) { struct stat64 st; if ((fd = open_not_cancel(_PATH_DEVNULL, O_RDWR, 0)) != -1 && (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) == 0)) { if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0#if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR && (st.st_rdev == makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR))#endif ) { (void)__dup2(fd, STDIN_FILENO); (void)__dup2(fd, STDOUT_FILENO); (void)__dup2(fd, STDERR_FILENO); if (fd > 2) (void)__close (fd); } else { /* We must set an errno value since no function call actually failed. */ close_not_cancel_no_status (fd); __set_errno (ENODEV); return -1; } } else { close_not_cancel_no_status (fd); return -1; } } return (0);}