通过 SSH 以 root 身份运行以下命令 (bash) 后:
pkill --help
pkill -h
pkill /?
Run Code Online (Sandbox Code Playgroud)
前两个命令没有为我提供任何信息,这就是为什么运行第三个命令(有点本能......)。
接下来发生的事情是,我与服务器的 SSH 会话关闭,并且无法重新连接。我猜它停止了所有(或大部分)正在运行的进程,包括负责此类会话的守护进程。
我想了解为什么会发生这种情况:我的输入的确切评估(逐步)是什么以及它是什么原因造成的。
我最好的猜测是它与 shell 对 '?' 的评估有关。字符,它可能转换为一些单字符表达式的列表,这些表达式被传递给 pkill,而 pkill 又关闭了这些 PID。
尝试使用时rabbitmqctl
,出现以下错误:
$ which rabbitmqctl
/usr/sbin/rabbitmqctl
$ sudo rabbitmqctl status
/usr/lib/rabbitmq/bin/rabbitmqctl: line 29: exec: erl: not found
Run Code Online (Sandbox Code Playgroud)
(/usr/sbin/rabbitmqctl
最有可能/usr/lib/rabbitmq/bin/rabbitmqctl
在其来源中调用:/usr/lib/rabbitmq/bin/${SCRIPT}
- guessing${SCRIPT}
评估为rabbitmqctl
)
但是,当简单地erl
从 shell访问时,我按预期到达了 erlang shell
$ which erl
/usr/local/bin/erl
$ ls -la /usr/local/bin/erl
lrwxrwxrwx 1 root root 21 Jul 18 02:03 /usr/local/bin/erl -> ../lib/erlang/bin/erl
$ erl
Erlang R15B01 (erts-5.9.1) [source] [64-bit] [smp:16:16] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.1 (abort with ^G)
1>
Run Code Online (Sandbox Code Playgroud)
设置信息:
otp_src_R15B01.tar.gz