Shell 如何通过命令行检查Jupyter运行的笔记本电脑

Shell 如何通过命令行检查Jupyter运行的笔记本电脑,shell,jupyter,jupyter-notebook,Shell,Jupyter,Jupyter Notebook,我正在为在谷歌云平台上运行Jupyter笔记本设置一个集群,但需要自动化集群关闭过程以节省资金,如果有人正在运行某个东西,则会中断关闭脚本 如何使用shell脚本检查是否有正在运行的笔记本?jupyter notebook--help all显示了许多有用的选项,但我的方法是通过调用以下命令从api获取所有会话: curl-i-H“接受:应用程序/json”http:///api/sessions“然后您可以解析此数据。 不确定这是否对你有帮助,但试试看 有一些Python代码可以识别正在运行的

我正在为在谷歌云平台上运行Jupyter笔记本设置一个集群,但需要自动化集群关闭过程以节省资金,如果有人正在运行某个东西,则会中断关闭脚本

如何使用shell脚本检查是否有正在运行的笔记本?

jupyter notebook--help all
显示了许多有用的选项,但我的方法是通过调用以下命令从api获取所有会话:
curl-i-H“接受:应用程序/json”http:///api/sessions“
然后您可以解析此数据。
不确定这是否对你有帮助,但试试看

有一些Python代码可以识别正在运行的笔记本服务器和内核。你可以把它改编成一个脚本来检查是否有。只做
ps-ef | grep jupyter
怎么样?谢谢@Thomas K,这肯定会对我的下一步有很大帮助。@KeithHughitt,没有想到,谢谢如果你知道端口号,可以使用
lsof
来检查监听端口的进程。查看关于如何使用
lsof
的完整答案。我使用@VagnerLucas的解决方案制作了一个小别名,该别名使用python漂亮地打印输出<代码>别名show\u kernels=“curl-s-i-H\”接受:应用程序/json\”http:///api/sessions\“| tail-1 | python-c\”导入系统,pprint;pp=pprint.预印机(缩进=4);pp.pprint(eval(sys.stdin.readlines()[0])\“”