python - 如果我取消调用它的终端,PostgreSQL 填充进程会死掉吗?

标签 python linux postgresql

我创建了一个名为“enws”的数据库。我正在使用 python 脚本“db_store.py”从存储在名为“xSparse.txt”的文件中的数据填充数据库。我是 linux 和 postgresql 的新手,我想知道如果我取消从中调用它的终端,从远程终端 (ssh) 调用的填充脚本是否会消失?请参阅下面我的设置:

python db_store.py -cs --file xSparse.txt --dbname enws

如果我查看 htop,即使工作终端关闭,一些相关进程(我认为)仍在运行:

enws [local] INSERT
enws [local] CREATE TABLE waiting
db_store.py -cs --file xSparse.txt --dbname enws

此外,我还想知道要终止哪些进程才能重新开始,以及在这种情况下是否需要清除数据库。

谢谢你们。

最佳答案

为运行时间较长的脚本使用屏幕。

sudo apt-get install screen

一些屏幕有用的命令:

screen -S foo //create a new screen called foo
screen -ls //List all your screens
screen -r foo //resume your foo screen

要退出屏幕,请按 ctrl+A,然后按 D 当您在屏幕内时,如果您键入“exit”,它将退出当前屏幕。因此,使用 ssh 登录,键入如下内容:

screen -S script
python db_store.py -cs --file xSparse.txt --dbname enws
ctrl+a ...d

然后用 screen -r 脚本重新打开它。

它允许你运行任何你想运行的东西,即使关闭终端它也会继续运行。

如果您的脚本正在向数据库发送查询并且您退出脚本,数据库将执行查询,因为一旦脚本向数据库发送查询,停止它的唯一方法是从 sql 或关闭数据库服务(或关闭计算机)

关于python - 如果我取消调用它的终端,PostgreSQL 填充进程会死掉吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34389002/

相关文章:

python ,opencv : duration of time an object is detected on webcam

python - 使用数据存储的简单 GAE 形式的数据类型异常

linux - mpm-itk 安装 -- make : missing: Command not found on ubuntu

linux - 在脚本中运行 gdb 时自动退出

sql - 如何检查列数据是否是 PostgreSQL 中的算术级数

ruby - PG Ruby Gem 在设置 PostgreSQL 连接时是否使用 pgpass?

Python - 在 XML 文档中查找元素的最快方法

python - 基于 DataFrame 将参数传递给 stats.friedmanchisquare 的正确方法是什么?

c - : *** [test] Error 10 signify? 是什么品牌

sql - 未传入某些参数时如何进行SQL查询过滤?