小编Pat*_*atS的帖子

CentOS 7 中的 TMOUT 在哪里设置?我怎样才能禁用它?

我知道我以前追踪过这个,但找不到答案。

当我在 CentOS 7(来自 X Windows GNOME 或 KDE)上启动 bash shell 时,TMOUT设置的变量会导致 shell 在指定的不活动时间段后超时。

该变量是只读的,因此我无法取消设置或更改它!

unset TMOUT
# prints bash: unset: TMOUT: cannot unset: readonly variable
export TMOUT=99999
# prints bash: TMOUT: readonly variable
Run Code Online (Sandbox Code Playgroud)

通常/etc/bashrc设置这些东西。我尝试使用以下方法找到它的设置位置:

grep TMOUT $HOME/.??* /etc/* 2> /dev/null
# not found
Run Code Online (Sandbox Code Playgroud)

所以我认为TMOUT实际上并没有设置/etc/bashrc它,或者它没有按照我正在寻找的方式设置。

已提出其他问题,但它们不一样或没有帮助。

bash logout timeout

6
推荐指数
1
解决办法
2万
查看次数

在 systemd 服务中 Restart=on-abort 是什么意思?

我正在使用一项服务,但它意外死亡(停止)。无论它如何停止,我都想让它自动重启!它已配置,Restart=on-abort并且不会重新启动。我没有编写服务,它来自另一个供应商,所以虽然我想追踪服务崩溃的根本原因,但我还需要一个解决方案来保持系统运行,直到找到根本原因。该服务每天死零到三次,所以不会太频繁。

该服务当前设置Restart=on-abort为在服务文件中定义的/etc/systemd/system/someone-elses.service

那么是什么Restart=on-abort意思呢?

我进行了搜索并了解了 restart= 的不同值的含义,但在手册页中没有找到任何内容:

systemctl

5
推荐指数
1
解决办法
4883
查看次数

为什么 ssh localhost sh -c 'echo "$0"' arg0 不输出任何内容?

类似于为什么 echo 调用为 /bin/sh -c echo foo 不输出任何内容?但使用ssh.

为什么这不输出任何内容:

ssh localhost sh -c 'echo "0=$0 1=$1"' arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

但如果我把它改成

ssh localhost sh -c 'true; echo "0=$0 1=$1"' arg1 arg2 arg3
# Output is
0=bash 1= arg1 arg2 arg3
Run Code Online (Sandbox Code Playgroud)

我看到的行为暗示正在运行 echo 命令,但变量替换的工作方式与预期不符。请参阅https://unix.stackexchange.com/a/253424/119816

在没有 ssh 的情况下运行按预期工作

与上面相同,但删除了 ssh 命令

sh -c 'echo "0=$0 1=$1"' arg1 arg2 arg3
# Output is
0=arg1 1=arg2

# Adding true gives same output
sh -c 'true; echo "0=$0 1=$1"' arg1 arg2 …
Run Code Online (Sandbox Code Playgroud)

shell ssh

4
推荐指数
2
解决办法
813
查看次数

标签 统计

bash ×1

logout ×1

shell ×1

ssh ×1

systemctl ×1

timeout ×1