小编Fed*_*eli的帖子

Postfix 问题:连接超时

从Roundcube仪表板中可以看到消息发送成功。

但是,当我检查时/var/log/mail.log,它显示如下:https: //pasteid.fledix.com/5mat

它甚至没有收到其他电子邮件的消息。

  • 我转到网络配置中的主机名DNS 客户端,并将 DNS 服务器更改为、和。(它只有一个:那就是我的专用IP)127.0.0.18.8.8.88.8.4.4

  • 我重新启动了saslauthdpostfix几次。

  • 我将 Dovecot 服务器的 TLS 更改为默认值。

  • 我完全是一个门外汉。

让我印象深刻的一件事是,当我登录 Webmin 面板时,系统主机名显示为,其中是我的专用 IP。在其他 Webmin 安装中,我看到它显示为.my chosen hostname (xxx.xxx.xxx.xx)xxx.xxx.xxx.xxxhostname (127.0.1.1)

有人可以帮我吗?

ubuntu postfix webmin

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

将命令的输出读入 Bash 中的变量更有效或推荐什么?

如果要将系统命令的单行输出读入 Bash shell 变量,则至少有两个选项,如下例所示:

  1. IFS=: read user x1 uid gid x2 home shell <<<$(grep :root: /etc/passwd | head -n1)

  1. IFS=: read user x1 uid gid x2 home shell < <(grep :root: /etc/passwd | head -n1)

这两者有什么区别吗?什么更有效或推荐?


请注意,阅读/etc/passwd文件只是为了举例。我的问题的重点是这里的字符串过程替换

linux bash process-substitution here-string

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

从 ps 输出中排除 ps 本身

我想获取系统中ps进程本身之外的所有进程的信息。

也就是说,类似:

ps --no-headers --pid 1111 -N
Run Code Online (Sandbox Code Playgroud)

其中是当前正在运行的命令1111的进程 ID 。ps

我尝试过类似的东西

ps --no-headers --ppid $$ -N
Run Code Online (Sandbox Code Playgroud)

但是,当在“子进程”中运行时,这不起作用,例如ps

ps --no-headers --pid 1111 -N
Run Code Online (Sandbox Code Playgroud)

最后一个命令尝试获取“最近”使用最多 CPU 的进程的 CPU 使用百分比和进程 ID 以及名称。

IFS=' ' read pctd proc <<<$(/bin/ps --no-headers -eo pcpu,pid,comm --sort=+pcpu | tail -1)
Run Code Online (Sandbox Code Playgroud)

直到最近都工作正常。然而,更新到 Ubuntu 23.04(或内核 6.x)后,有时ps会开始将自己列为使用 100% CPU


目前,以下似乎是一种解决方法(但并不安全):

IFS=' ' read pctd proc <<<$(/bin/ps --no-headers -eo pcpu,pid,comm --sort=+pcpu | grep -v \ ps …
Run Code Online (Sandbox Code Playgroud)

bash debian ps

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

标签 统计

bash ×2

debian ×1

here-string ×1

linux ×1

postfix ×1

process-substitution ×1

ps ×1

ubuntu ×1

webmin ×1