AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[session](unix)

Martin Hope
Jimm Chen
Asked: 2023-12-29 23:23:42 +0800 CST

/proc/PID/sessionid 在 Linux 机器上意味着什么?

  • 5

在 Ubuntu Linux 20.04 上,cat /proc/$$/sessionid显示3,在 openSUSE 15.5 上,显示2。

或3肯定2与 中的会话 ID 值(SID)有不同的含义getsid(0),那么它是什么意思呢?

Ubuntu 截图

openSUSE 截图

session
  • 1 个回答
  • 41 Views
Martin Hope
Indigenuity
Asked: 2022-06-23 13:15:59 +0800 CST

你能从一个意外的“是”命令中拯救一个 shell 吗?

  • 3

场景:我正在运行一堆命令,其中一些会提示“是/否”的答案。我不小心输入yes了命令而不是对提示的响应。哎呀。现在我的外壳看起来像这样:

$ yum install -y something-important
... useful output I want to go back and refer to, perhaps multiple times
$ yes
y
y
y
y
y
y
y
y
y
y
y
... there are tens of thousands of lines... oh god, Y??

yes在意识到发生了什么后,我成功地停止了命令,但损坏已经造成。我正处于激烈的 shell 会话中,现在我失去了向上滚动以获取相关输出的能力!显然之前的文本都还在,但它本质上是无法访问的,因为它与所有y. 类似的东西clear将有助于从我的屏幕上删除难看的y洪流,但它不会帮助我回到之前的会话状态。

我怎样才能挽救这个会话以前的输出仍然有用?

shell session
  • 1 个回答
  • 759 Views
Martin Hope
Jean
Asked: 2022-03-27 17:41:15 +0800 CST

用于自己构建的 KDE 的 xsession

  • 3

我正在尝试做的事情:我正在尝试从源代码构建我自己的完整 KDE 并以我的普通用户身份运行它,而无需从系统中更改它。问题:如果不将整个系统更改为始终只运行该软件,我似乎无法运行我构建的软件。

根据我从文档第 2.5.1 节的理解,这得到了很好的支持。kdesrc-build 将安装一个登录驱动程序,以便登录管理器找到一个适当的设置来运行等离子会话,该会话运行在我的安装前缀中构建的软件。我无法开箱即用地完成这项工作——SDDM 不会看到已安装的脚本,但我可以通过将plasma.desktopkdesrc-build 安装的文件链接到我的 /usr/share/xsession 文件夹来轻松地工作。这让 SDDM 可以看到我的会话。

不幸的是,这仍然无法运行我从源代码构建的 KDE。这样做的原因是,虽然这会从我构建的软件启动 init 序列,但启动序列(如在plasma/plasma-workspace/startkde/plasma-session/startup.cpp 及其朋友中)只会添加安装前缀对于一开始的一些命令,所以它会运行我构建的 startkde 但很快它就会恢复到 from$PATH并且似乎没有人设置该变量。在我看来,一些环境脚本应该这样做(kde-env-master.sh 看起来是个不错的候选者)

所以我作弊,安排登录脚本设置$PATH为包含我构建的软件的bin目录。但这还不够——我构建的二进制文件现在将尝试从系统中加载库,这些库不是他们构建的对象。init 文件中有一些引用设置$LD_LIBRARY_PATH为包含我构建的库所在的目录,但出于安全原因$LD_LIBRARY_PATH,经常重置(实际上,一旦 init 序列删除权限,就会发生这种情况),因此在环境脚本实际上被忽略了。

我可以设置我的 ldconfig 来查找我构建的这些库——但这是系统范围的,所以如果我这样做,使用我的发行版安装的稳定软件运行的正常会话将尝试使用我构建的库,这充其量是危险的主意。

所有这些都表明我做错了什么,但我不知道是什么。毕竟,文档说运行会话是正确的方法,kdesrc-build安装登录驱动程序,有文件可以将我构建的前缀中内置的环境设置为正确的目录,所有这些似乎都很好地集成了但是当我尝试这样做我发现一个又一个问题,所以我只能假设我没有做对。

我应该如何设置一个运行我定制的 KDE 的会话,而不影响我的发行版安装的常规会话?

注意:在 Debian 测试和 kdesrc-build 20.06 上运行它

kde session
  • 1 个回答
  • 173 Views
Martin Hope
Gerald Schade
Asked: 2019-04-14 02:28:57 +0800 CST

logname / who -u / 如何获取当前会话的pid

  • 0

命令“logname”给了我登录用户的名字,不管后续的“su”调用。例如,在当前的铸币厂中,命令“logname”被破坏并且没有给出logname。我想通过其他命令来获得它的功能。命令“who -u”的输出在其结果行之一中包含所需的信息,例如:

schade   tty7         2019-04-13 10:01 02:41        2674 (:0)
user1    tty8         2019-04-13 10:05 02:41        3518 (:1)
schade   pts/3        2019-04-13 10:33   .          6274 (fd00::eb5d:1659:bda5:8b95)
user2    tty9         2019-04-13 10:34 02:41        6475 (:2)
schade   pts/7        2019-04-13 12:16   .         10727 (fd00::eb5d:1659:bda5:8b95)

但在哪一个?我应该找出我当前登录的 pid(这里是 2674,而不是 shell 的 pid)作为每行中的倒数第二个条目,或者将计算机名称作为编码为“:0”的最后一个条目,以将其过滤掉。我怎样才能?

process session
  • 1 个回答
  • 524 Views
Martin Hope
Alistair Lobo
Asked: 2019-03-11 00:03:38 +0800 CST

看到用户两次

  • 0

考虑我test在安装期间创建了一个用户“”,我用它来登录我的系统。我的根用户是' root'。我进一步分别为每个用户打开两个终端会话。现在的问题是,当我键入“ w”、“ who”甚至“ finger”命令(在我的根终端会话中)列出所有登录的用户时,我看到“ test”用户进来了两次(使用不同的 TTY),这实际上应该是' test'&' root'。即使我创建了一个新用户“ test1”,我仍然看到我原来的用户名“ test”是当前登录用户的、、、命令的输出。w像这样: whofingerRHEL7 终端

PS.:使用RHEL7

login session
  • 3 个回答
  • 341 Views
Martin Hope
Tim Visee
Asked: 2019-01-25 05:21:48 +0800 CST

删除会话文件后如何附加到 tmux 会话?[复制]

  • 9
这个问题在这里已经有了答案:
tmux 会话在未知点丢失,原因和可能的解决方案? (4 个回答)
3年前关闭。

tmux跟踪文件中的活动会话,在我的系统上,它位于/tmp/tmux-1000/default. 最近我手动清除了/tmp目录中的所有内容,删除了这个会话文件。

通常,您可以使用tmux attach重新附加到会话。可以使用列出活动会话tmux ls。由于此文件已消失,tmux因此不知道任何活动会话:

$ tmux attach
no sessions    
$ tmux ls
error connecting to /tmp/tmux-1000/default (No such file or directory)

使用top我可以验证tmux仍在运行,以及我在该会话中打开的应用程序。

删除会话文件后,如何重新附加到该会话?

tmux session
  • 1 个回答
  • 3183 Views
Martin Hope
extremeaxe5
Asked: 2018-08-13 15:06:06 +0800 CST

有没有办法改变正在运行的进程的进程组?

  • 4

有没有办法改变正在运行的进程的PID、PPID、SID?答案是否定的是有道理的,但我想确定一下。

process session
  • 1 个回答
  • 3502 Views
Martin Hope
Prvt_Yadav
Asked: 2018-05-04 23:25:25 +0800 CST

w 命令不显示所有伪终端会话

  • 3

如果我打开终端并执行w命令,那么它将显示:

user   tty7     :0               12:04   39:56  36.87s  0.06s /sbin/upstart -

现在,如果打开terminator或xterm执行w命令,那么它将在w命令的输出中显示它的条目,例如

user   tty7     :0               12:04   39:56  36.87s  0.06s 
/sbin/upstart -
user   pts/2    :0.0             12:50    1.00s  0.02s  0.00s w

gnome-terminal但是当我打开或时它不会显示新条目xfce4-terminal。为什么它为终结者而不是 xfce4-terminal 显示新会话?

login session
  • 2 个回答
  • 1979 Views
Martin Hope
user9303970
Asked: 2018-02-25 09:49:52 +0800 CST

我可以在同一个工作流程中将 ksh/zsh 和其他 shell 与 Bash 结合起来吗?

  • 1

我可以在同一个工作流程(shell 会话)中将 ksh/zsh 和其他 shell 与 Bash 结合使用吗?

我习惯了 Bash,但我可能需要一些在 ksh 或 zsh 中可用的行为。我可以在单个 shell 会话中以某种方式与它们一起使用 Bash,至少在它们不冲突的地方吗?

这里没有要解决的问题,只是一个架构问题,可以更好地了解 shell 之间的关系和一般知识。

shell session
  • 2 个回答
  • 198 Views
Martin Hope
s-m-e
Asked: 2017-12-16 03:34:51 +0800 CST

`sudo setsid command`不会产生新的进程组?

  • 1

我正在研究一个我想在sudo软件测试中运行程序/命令的场景。这些命令是从基于subprocess模块的 Python 脚本启动的。我试图避免必须以超级用户权限运行整个测试套件。

假设出于本示例的目的,它是top. 我的命令启动了它自己的一些子进程,并且可能会陷入死锁。超时后,我想杀死它(和它的孩子)。显而易见的解决方案似乎是让我的命令负责一个新的会话/进程组,允许我一次完全杀死它及其子进程。我不知道如何使它与sudo. 在我的情况下,sudo总是无一例外地受到密码保护,我想保持这种方式......如果可能的话。

  1. 作品:setsid top
  2. 有效,但不会产生新的进程组:sudo setsid top
  3. 有问题 - 很难以安全可靠的方式获取 root 密码:setsid sudo top

我没有设法使(3)以干净的方式工作。我搞砸了SUDO_ASKPASS。

令我惊讶的是 (2) 实际运行但没有给我所需的新进程组。

systemd─┬─ ...
        ├─kdeinit5─┬─ ...
        │          └─yakuake─┬─2*[bash]
        │                    ├─bash───sudo───top
        │                    ├─bash───pstree
        ...
sudo session
  • 1 个回答
  • 1421 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve