Linux 访问系统日志文件

 #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“

如图:

Linux 访问系统日志文件_第1张图片

输入命令为:

tail  /tmp/daemon.log

运行文件,如果daemon.log打开成功,同时会向系统日志写入信息消息“open daemon.log"

查看系统日志,如图:

Linux 访问系统日志文件_第2张图片

 命令:

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  //查看写入文件

你可能感兴趣的:(linux,运维,服务器)