首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定SQL*Plus是否在调用堆栈上?

如何确定SQL*Plus是否在调用堆栈上?
EN

Stack Overflow用户
提问于 2020-05-25 03:28:01
回答 1查看 62关注 0票数 0

在SQL*Plus中,有一个HOST command,用于在不退出SQL*Plus的情况下执行操作系统命令或显示操作系统提示符。

因此,如果我从Unix命令行连接到SQL*Plus

代码语言:javascript
运行
复制
myunixuser ~$ sqlplus user/password@mydb
SQL*Plus: Release 19.0.0.0.0 - Production on Sun May 24 21:01:56 2020

SQL>

现在,如果我输入HOST,就会返回到shell:

代码语言:javascript
运行
复制
SQL> HOST
myunixuser ~$

如果我在命令行中输入exit,我就会返回到SQL*Plus,这并不奇怪。

我无法区分原始命令行和SQL*Plus打开的shell。是否有可能找出SQL*Plus是否在调用堆栈上,并且可能存在打开的数据库事务?

很可能,这是一个关于Unix而不是SQL*Plus的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-25 04:41:05

您可以使用ps来显示带有父进程id的当前会话进程。

例如:

代码语言:javascript
运行
复制
$ ps -jt
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
 2510  2511  2511  2511 pts/1     4890 Ss    1000   0:00 -bash
 2511  4343  4343  2511 pts/1     4890 Sl    1000   0:00 sqlplus              
 4343  4411  4411  2511 pts/1     4890 S     1000   0:00 /bin/bash
 4411  4890  4890  2511 pts/1     4890 R+    1000   0:00 ps -jt
$ 

这里的bash进程4411是4343的子进程,4343是sqlplus。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61991333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档