谁能解释一下下面这行代码是做什么用的?
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true它有什么不同?
test -f /var/run/syslogd.pid && kill -HUP `cat /var/run/syslogd.pid`我知道它应该重新启动syslogd,但两者之间有区别吗?有点像linux新手,抱歉
发布于 2012-03-13 14:17:07
/bin/kill -HUP <PID> -向由<PID> (进程标识符)标识的进程发送SIGHUP信号。向守护程序(或服务,如果您愿意)发送此信号通常会指示它们重新读取(再次读取)其configurationcat /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是一个特殊的设备文件,它会丢弃(忽略)写入其中的所有内容(就像一口无底井)。有时用于丢弃错误消息(如这里的情况)。
发布于 2012-03-13 14:14:29
第二个命令用于检查名为/var/run/syslog.pid的文件是否存在,该文件存储正在运行的syslog服务的pid,该命令的第二部分将终止该进程
https://stackoverflow.com/questions/9679085
复制相似问题