- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- int main(int argc, const char *argv[]){
- pid_t pid, sid;
- int i, fd;
- char *buf = "This is a Daemon\n";
- pid = fork();
- if(pid < 0){
- printf("fork error\n");
- return -1;
- }
- else if(pid > 0){
- exit(0);
- }
- else{
- openlog("daemon_syslog", LOG_PID, LOG_DAEMON);
- if((sid = setsid()) < 0){
- syslog(LOG_ERR, "%s\n", "setsid");
- exit(1);
- }
- if((sid = chdir("/")) < 0){
- syslog(LOG_ERR, "%s\n", "chdir");
- exit(1);
- }
- umask(0);
- for(i = 0; i < getdtablesize(); i++){
- close(i);
- }
- if((fd = open("/tmp/daemon.log", O_CREAT|O_WRONLY|O_TRUNC, 0600)) < 0){
- syslog(LOG_ERR, "open");
- exit(1);
- }
- syslog(LOG_INFO, "%s\n", "open daemon.log");
- while(1){
- write(fd, buf, strlen(buf));
- sleep(5);
- }
- close(fd);
- closelog();
- }
- return 0;
- }
运行文件,如果打开成功,会向daemon.log中写入“This is a daemon“
如图:

输入命令为:
tail /tmp/daemon.log
运行文件,如果daemon.log打开成功,同时会向系统日志写入信息消息“open daemon.log"
查看系统日志,如图:

命令:
tail /var/log/syslog
声明:
上述查看/tmp/daemon.log和打开系统日志文件均需在管理员权限下才能打开成功
两种方法:
①进入到管理员账户,如图二所示,linux的系统管理员应该都是叫Linux。然后执行访问系统日志命令。
②同样进入到系统管理员账户Linux,然后设置你原本账户为管理员,以我的账户“han0117”为例
- su linux
- //进入管理员账户
- sudo usermod -aG sudo han0117
- //设置原本账户为管理员
- su hano117
- //重新进入账户,这时已经是管理员了
- tail /var/log/syslog //查看系统日志
- 或者 tail /tmp/daemon.log //查看写入文件