nohup ./logstash & 但是這種方式啟動項目會默認生成一個nohup.out的文件來記錄日志,而且這個文件太占磁盤內存了,為了減少磁盤被大量消耗,決定啟動項目時不輸出nohup.out文件。 解決方案如下: nohup的重定向,解決nohup.out文件過大的問題 只輸出錯誤信息到日志文件 nohup ./logstash >/dev/null 2>log & 什么信息也不要 nohup ./logstash >output 2>&1 & 指定輸出到output文件
輸出重定向 1. >/dev/null 這條命令的作用是將標准輸出1重定向到/dev/null中。 /dev/null代表linux的空設備文件,所有往這個文件里面寫入的內容都會丟失,俗稱“黑洞”。那么執行了>/dev/null之后,標准輸出就會不再存在,沒有任何地方能夠找到輸出的內容。 2. 2>&1 這條命令用到了重定向綁定,采用&可以將兩個輸出綁定在一起。這條命令的作用是錯誤輸出將和標准輸出同用一個文件描述符,說人話就是錯誤輸出將會和標准輸出輸出到同一個地方。 linux在執行shell命令之前,就會確定好所有的輸入輸出位置,並且從左到右依次執行重定向的命令,所以>/dev/null 2>&1的作用就是讓標准輸出重定向到/dev/null中(丟棄標准輸出),然后錯誤輸出由於重用了標准輸出的描述符,所以錯誤輸出也被定向到了/dev/null中,錯誤輸出同樣也被丟棄了。執行了這條命令之后,該條shell命令將不會輸出任何信息到控制台,也不會有任何信息輸出到文件中。