#保存日志
nohup ./kafka-server-start.sh ../config/server.properties > /path/to/logfile.log 2>&1 &#不保存日志
nohup ./kafka-server-start.sh ../config/server.properties >/dev/null 2>&1 &
-
nohup
: 是一个Unix/Linux命令,用于运行一个命令并忽略挂断(hangup)信号,也就是说即使终端关闭或者退出登录后命令仍然在后台运行。这对于启动需要长时间运行的进程很有用。 -
./kafka-server-start.sh
: 这是Kafka服务器的启动脚本的路径。这里的路径是相对路径,实际执行时需要确保该脚本是可执行的,并且存在于当前目录下或者需要指定正确的绝对路径。 ../config/server.properties
: 这是传递给Kafka服务器的配置文件的路径。这意味着配置文件的存放位置是相对于当前脚本执行目录的上级目录的config
文件夹内。确保配置文件存在并且正确配置。> /path/to/logfile.log
: 这部分是将命令的标准输出重定向到一个指定的日志文件。2>&1
: 这部分表示将标准错误(文件描述符为2)重定向到标准输出(文件描述符为1),意味着错误消息也会被写入到前面指定的日志文件中。>/dev/null
: 这部分是将标准输出重定向到/dev/null
,也就是忽略所有来自脚本的标准输出(正常日志信息)。/dev/null
是一个特殊的设备文件,任何写入它的数据都会被丢弃。这样,你就不会看到任何正常的日志输出。2>&1
: 这部分是用来重定向标准错误输出(文件描述符 2)到标准输出(文件描述符 1)。由于标准输出已经被重定向到/dev/null
,所以这个设置也意味着标准错误输出也会被忽略。因此,所有日志(无论是正常信息还是错误信息)都会被丢弃。&
: 在命令的末尾表示将整个命令放到后台运行。这样你可以在启动Kafka后立刻退出终端或会话,Kafka仍会在后台运行。通常在你作为后台进程运行命令时都会使用到这个符号。