Ruby on rails 是否有其他Ctrl+;C停止rails服务器?
我的键盘发生了一次不幸的事故,现在某些键和组合键无法工作。我正在使用bashshell发出命令。我看到使用Ctrl Pause/Break可以在几篇文章上停止服务器,比如,但我的键盘被映射为Fn+right shift表示暂停,Ctrl+Fn+right shift表示中断。这对我来说不起作用,因为这可能是我的键盘映射的方式,或者这是键盘现在不能做的另一件事。有没有其他方法可以让服务器停止Ruby on rails 是否有其他Ctrl+;C停止rails服务器?,ruby-on-rails,ruby,bash,command-line,Ruby On Rails,Ruby,Bash,Command Line,我的键盘发生了一次不幸的事故,现在某些键和组合键无法工作。我正在使用bashshell发出命令。我看到使用Ctrl Pause/Break可以在几篇文章上停止服务器,比如,但我的键盘被映射为Fn+right shift表示暂停,Ctrl+Fn+right shift表示中断。这对我来说不起作用,因为这可能是我的键盘映射的方式,或者这是键盘现在不能做的另一件事。有没有其他方法可以让服务器停止 编辑:我现在使用外置键盘。尽管我发现自己正在尝试使用笔记本电脑的内置键盘。您可以使用ps命令找到rails
编辑:我现在使用外置键盘。尽管我发现自己正在尝试使用笔记本电脑的内置键盘。您可以使用
ps
命令找到rails进程,如下所示:
➜ ps aux
您会看到系统上运行的所有内容的列表。查找显示Rails应用程序的行
例如,我使用Passenger运行我的应用程序,我的应用程序名称是“demo”,我的流程线是:
me 30704 0.0 2.0 705696 155300 ? Sl 18:58 0:01 Passenger RackApp: demo
流程行显示您可能需要的两个项目:
- 第二项是进程id号,也称为PID
- 结束文本是正在运行的应用程序及其参数的名称
➜ kill -s INT 30704
您可能需要的信号:
表示“程序中断”,当用户键入INTR字符(通常为C-C)时发送INT
是要求程序终止的一种通用礼貌方式术语
导致程序立即终止。它不能被处理、忽略或阻止KILL
grep
或类似工具,如pgrep
或pidof
➜ ps aux | grep Passenger
要查找流程id号,可以使用awk
打印行的第二项:
➜ ps aux | grep Passenger | awk '{print $2}'
要终止名称或参数中具有特定模式的所有进程,可以使用pkill
:
➜ pkill -f Passenger
要在rails服务器运行时停止它,请按:
CTRL-Z您可以通过
kill
发送它SIGINT或SIGTERM。或者你可以花10美元买一个外置键盘。@ChrisHeald谢谢你快速搜索,如果有选择的话,SIGINT是更好的命令。我对bash还不熟悉。我输入了SIGINT命令,它显示“未找到命令”。我是否需要以任何特殊方式发出此命令?您可以尝试将“Caps Lock”重新映射为老式键盘的控制。使用kill
命令为您发送信号(SIGTERM
默认)。您可以使用kill-pid
,其中pid
是进程ID。如果您知道进程的名称,可以使用pgrep-name
获取pid。您也可以使用pkill按名称进行杀戮,即pkill-f unicorn
。这不会在预期(“杀戮”)意义上“停止”进程。