目前在Docker遇到问题;我用它来运行一个启动时启动ipython笔记本的图像.我想对ipython笔记本本身进行一些编辑,所以我需要在启动后关闭它.
但是,在终端中按CTRL C只输入“^ C”作为字符串.似乎没有使用CTRL C实际关闭ipython笔记本实例的真正方法.
最佳答案
这篇文章建议使用CTRL-Z作为将进程发送到后台然后通过进程ID终止进程的变通方法:
Cannot kill Python script with Ctrl-C
Cannot kill Python script with Ctrl-C
可能的问题:
>该程序捕获ctrl-c并且什么都不做,非常不可能.
>有些后台进程无法正确管理.只有主进程接收信号并且子进程挂起.很可能发生了什么.
建议的解决方案:
>检查程序文档,了解它是如何正确启动和停止的. ctrl-c似乎不是正确的方法.
>使用docker-entrypoint.sh bash脚本包装程序,该脚本阻止容器进程并能够捕获ctrl-c.这个bash示例应该有所帮助:https://rimuhosting.com/knowledgebase/linux/misc/trapping-ctrl-c-in-bash
>捕获ctrl-c后,为ipython notebook调用正确的shutdown方法.