首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解syslogd

了解syslogd
EN

Stack Overflow用户
提问于 2012-03-13 14:01:45
回答 2查看 5.5K关注 0票数 3

谁能解释一下下面这行代码是做什么用的?

代码语言:javascript
复制
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true

它有什么不同?

代码语言:javascript
复制
test -f /var/run/syslogd.pid && kill -HUP `cat /var/run/syslogd.pid`

我知道它应该重新启动syslogd,但两者之间有区别吗?有点像linux新手,抱歉

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-13 14:17:07

  1. /bin/kill -HUP <PID> -向由<PID> (进程标识符)标识的进程发送SIGHUP信号。向守护程序(或服务,如果您愿意)发送此信号通常会指示它们重新读取(再次读取)其configuration
  2. cat /var/run/syslogd.pid 2> /dev/null -读取/var/run/syslogd.pid文件(其中包含syslogd守护程序的PID ),并将其打印到标准输出(文件描述符= 0 (零))。它的测试部分将标准错误流(文件描述符= 2 (二))重定向到/dev/null,以丢弃在读取文件/var/run/syslogd.pid时发生的所有错误消息(如果文件/var/run/syslogd.pid存在)。如果存在,则(通常)表示守护进程(在本例中为syslogd)已启动并正在运行。

总结一下:

第一个命令意味着: send SIGHUP to syslogd丢弃所有错误消息并返回true如果是第二个命令意味着:如果syslogd守护进程正在运行send SIGHUP to syslogd是一个特殊的设备文件,它会丢弃(忽略)写入其中的所有内容(就像一口无底井)。有时用于丢弃错误消息(如这里的情况)。

票数 7
EN

Stack Overflow用户

发布于 2012-03-13 14:14:29

第二个命令用于检查名为/var/run/syslog.pid的文件是否存在,该文件存储正在运行的syslog服务的pid,该命令的第二部分将终止该进程

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9679085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档