jupyter 笔记本中如何判定bash块是否执行完毕

news/2024/9/19 22:49:21/ 标签: jupyter, bash, linux

jupyter notebook中 后台执行bash卡住解决

jupyter_2">jupyter版本

!jupyter --version

Selected Jupyter core packages...
IPython          : 8.27.0
ipykernel        : 6.29.5
ipywidgets       : 8.1.5
jupyter_client   : 8.6.2
jupyter_core     : 5.7.2
jupyter_server   : 2.14.2
jupyterlab       : 4.2.5
nbclient         : 0.10.0
nbconvert        : 7.16.4
nbformat         : 5.10.4
notebook         : 7.2.2
qtconsole        : not installed
traitlets        : 5.14.3
Selection deleted

jupyterbash_25">jupyter如何判定%%bash块是否执行完毕

若该%%bash块中启动的存在进程的 stdoutstderr 输出 到该bash进程自身,

jupyter认为该块没有执行完毕,要等待该块执行完毕,

这样会导致卡在该块,无法执行后续块

解决办法是 让该%%bash块中, 业务进程 的stdoutstderr 重定向 到其他文件,

注意 %%bash块中 书写的 后台执行业务脚本.sh & , jupyter并不认为他已经执行完了

jupyteruiautodev_41">(举例)jupyter中启动uiauto.dev的网页服务

%%bash #杀死python进程 uiauto.dev 
kill $(ps auxf | grep uiauto.dev  | grep -v grep | tr -s ' ' | cut -d ' ' -f 2)
sleep 1source /app2/pyAui/.venv/bin/activate ; 
set -x;  
cur_pid=$$uiauto_booted=false
ps auxf | grep uiauto | grep -v grep && uiauto_booted=true if ! $uiauto_booted ; then
#启动uiauto.dev的网页服务 (将stdout、stderr脱离当前bash进程,以欺骗jupyter使其认为该进程已经执行完毕)
uiauto.dev 1>/tmp/uiauto.dev.stdout 2>/tmp/uiauto.dev.stderr &   
uiauto_dev_pid=$!
sleep 2; cat /tmp/uiauto.dev.*
fi

http://www.ppmy.cn/news/1520978.html

相关文章

MySQL数据恢复的故障转移:策略、实践与自动化

在企业级数据库管理中,数据的高可用性和灾难恢复能力是至关重要的。MySQL作为流行的数据库管理系统,提供了多种机制来实现数据恢复的故障转移,确保在主数据库发生故障时,能够无缝切换到备份数据库,从而保障业务的连续性…

【c++】常量周边之const应用:常变量

【c】常量周边:常量概念及定义 承接上文,我们学习了常量的基础知识,在此基础上,本篇文章对于宏定义 #define 和常量 const进行深入学习。 目录 #define 预处理器 const:在常量方面应用 使用技巧 const与指针的结合 const 与 …

初学者指南:Spring Boot入门

引言 在当今快速发展的软件开发领域,Spring Boot已经成为了构建现代Java应用程序的首选框架之一。它以其简洁、易用和强大的特性,帮助开发者快速搭建起基于Spring的应用程序。如果你是Java开发新手,或者正在寻找一种更高效的开发方式&#x…

浅谈C#之ConcurrentDictionary

一、基本介绍 ConcurrentDictionary 是 .NET Framework 中提供的一个线程安全的字典类,它允许多个线程同时对字典进行读写操作而不需要额外的同步措施。这个类位于 System.Collections.Concurrent 命名空间中。 二、关键特性 线程安全:它内部使用了细粒度…

自然语言处理-词向量转换

文章目录 一、简介1.含义2.基本原理3.常见转换方法1). 独热编码(One-Hot Encoding)2). 词袋模型(Bag of Words, BoW)3). TF-IDF(Term Frequency-Inverse Document Frequency&#xf…

ReentrantLock 对比 ReentrantReadWriteLock

结论 ReentrantLock 保证统一时刻,锁内只能有一个线程 ReentrantReadWriteLock 写锁时 锁内只能有一个线程 ReentrantReadWriteLock 读锁时 锁内只能有一个线程 在多线程情况下 1. 如果业务上读的场景很多,ReentrantReadWriteLock 效率高于 ReentrantLock 2. 如果业务上读的写…

Taro 微信小程序 分页上拉加载

需求&#xff1a; 页面表头及上面部分都固定&#xff0c;表格数据部分可以滚动&#xff0c;支持分页&#xff0c;上拉加载下一页数据 如果是最后一页需判断一下&#xff0c;上拉不再继续加载数据 效果&#xff1a; template&#xff1a; <scroll-view class"db-det…

动态化-鸿蒙跨端方案介绍

一、背景 &#x1f449; 华为在2023.9.25官方发布会上宣布&#xff0c;新的鸿蒙系统将不再兼容安卓应用&#xff0c;这意味着&#xff0c;包括京东金融APP在内的所有安卓应用&#xff0c;在新的鸿蒙系统上将无法运行&#xff0c;需要重新开发专门适用于新鸿蒙系统的专版APP。 …

C++和Python混合编程——C++调用Python入门

大纲 代码结构初始化 Python 解释器获取 GIL为什么需要 GIL&#xff1f;GIL 的影响 导入 Python 模块并执行代码释放 GIL终止 Python 解释器 完整代码编译执行结果项目地址 在《C和Python混合编程——Python调用C入门》一文中&#xff0c;我们熟悉了Python调用C编译的动态库的方…

Android11 MTK 安装apk时进行密码验证

1、客户需求 客户要求&#xff0c;在安装apk文件时&#xff0c;进行密码验证。apk文件来源包括浏览器下载、内存中、外接SDK中、adb命令安装等。之后在测试过程&#xff0c;又添加了一个限制&#xff0c;输入错误密码超过3次&#xff0c;则放弃本次安装。2、解决 路径&#xff…

Prometheus与Grafana入门:从安装到基础监控的完整指南

Prometheus与Grafana入门&#xff1a;从安装到基础监控的完整指南 Prometheus 和 Grafana 是现代监控系统的黄金组合。Prometheus 作为一个开源的监控系统和时间序列数据库&#xff0c;以其强大的指标收集和查询能力广泛应用于云原生环境。而 Grafana 则是一个用于数据可视化和…

SQL Server 中 事务( Transaction )

在 SQL Server 中&#xff0c;Transaction&#xff08;事务&#xff09;是一种处理单位&#xff0c;它由一系列操作组成&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败。事务是数据库管理系统中的一个核心概念&#xff0c;用于确保数据的完整性和一致性。 事务具有…

Linux 进程等待与替换

✏️ 代码引入&#xff1a; #include <stdio.h> #include <unistd.h> // _exit()要此头文件&#xff0c;使用方法与 exit()类似 #include <stdlib.h> // exit(),要此头文件// int fun() //{ // printf("call fun function done!\n"); // retu…

使用 Monai Bundle 和 Model Zoo 对医学影像数据进行分类-全脑133个结构分割

使用 Monai Bundle 和 Model Zoo 对医学影像数据进行分类-全脑133个结构分割 文章目录 导读Monai Bundle 和 Model Zoo简单介绍基于monai bundle的MRI全脑分割模型简介模型描述模型训练细节训练数据注意事项电脑配置完整的133个脑结构列表在3D slicer使用全脑结构分割模型完整的…

MySQL数据备份策略审计:确保数据安全与合规性

在企业环境中&#xff0c;数据备份策略的审计是确保数据安全、提高数据管理效率和满足合规要求的重要环节。MySQL作为广泛使用的数据库系统&#xff0c;其备份策略的审计可以帮助组织验证备份操作的有效性、监控备份过程并确保数据的完整性和可用性。本文将详细介绍如何在MySQL…

解决:axios 请求头url传参数组时发生400错误

一、前言 axios封装的网络请求&#xff0c;url传参时&#xff0c;数组作为参数传递&#xff0c;发生400错误请求时数组参数转url会保留 [] 二、原因 RFC3986&#xff1a;除了 数字 字母 -_.~ 不会被转义&#xff0c;其他字符都会被以百分号&#xff08;%&#xff09;后跟两位…

【Python机器学习】NLP词频背后的含义——距离和相似度

我们可以使用相似度评分&#xff08;和距离&#xff09;&#xff0c;根据两篇文档的表示向量间的相似度&#xff08;或距离&#xff09;来判断文档间有多相似。 我们可以使用相似度评分&#xff08;和举例&#xff09;来查看LSA主题模型与高维TF-IDF模型之间的一致性。在去掉了…

Spring Cloud LoadBalancer

1. 快速上手 SpringCloud 从 2020.0.1版本开始,移除了Ribbon 组件&#xff0c;使用Spring Cloud LoadBalancer 组件来代替 Ribbon 实现客户端负载均衡. 1.1 使用Spring Cloud LoadBalancer实现负载均衡 给 RestTemplate 这个Bean添加 LoadBalanced 注解就可以 Configuratio…

OCI编程高级篇(十九) 创建和使用OCI连接池

上一节介绍了连接池的概念和使用连接池的步骤&#xff0c;这一节看看具体的操作是怎样的&#xff0c;先看一下用到的函数原型和参数。 创建连接池函数OCIConnectionPoolCreate()&#xff0c;原型和参数如下。 sword OCIConnectionPoolCreate ( OCIEnv *envhp, OCIError …

css中设定长度的例外情况

看下面的例子&#xff1a; div { font-size: 40px; width: 10em; /* 400px */ height: 10em; border: solid 1px black; } p { font-size: 0.5em; /* 20px */ width: 10em; /* 200px */ height: 10em; border: solid 1px red; } span { font-size: 0.5em; width…