Udev

為什麼拔掉適配器時會收到郵件?

  • August 21, 2018

通常我只在執行某些升級後才能獲得終端輸出You have new mail in /var/mail/$USER,但我在執行其他命令後每隔幾天就會開始獲得它,似乎是隨機的。新郵件/var/mail/$USER總是類似於這樣:

Message-Id: <E1YHfKT-0008LI-2d@debianator>
From: root <root@debianator>
Date: Sat, 31 Jan 2015 22:11:45 +0100

Adapter 0: off-line

請注意,並非每次我插入交流適配器時都會發生這種情況。

我使用一個簡單的 bash 腳本(由 udev 執行)在電池電量低且未連接交流適配器時休眠。該腳本用於acpi檢測後者,並且已經工作多年而沒有郵寄給我。

那麼什麼服務可以郵寄Adapter 0: off-line給我呢?

編輯:

下面是我用來在低電量下休眠的腳本。進一步檢查,我肯定認為這是相關的。注意if acpi -a | grep 'off-line'線條。當我執行時,acpi -a | grep 'off-line我得到了輸出Adapter 0: off-line。那是發送到我的郵件的確切輸出 - 那麼我該如何阻止它呢?

這是腳本:

#!/bin/bash
# Critical battery level (acpi reports it at 5%)
CRITICAL=6

battery_level=`acpi -b | grep -o [0-9]*% | sed s/%//`
if [ ! $battery_level ]
then
  exit
fi
if [ $battery_level -le $CRITICAL ]
then
  if acpi -a | grep 'off-line'
  then
     # Warning
     sudo -u andreas DISPLAY=":0.0" notify-send -u critical "Gimme power"
     sleep 60s
        if acpi -a | grep 'off-line'
        then

           sudo -u andreas DISPLAY=":0.0" notify-send -u critical "Shutting down"
           sleep 2s
           /bin/systemctl hibernate
        fi
  fi

聽起來就像一個 cronjob 創建輸出,然後郵寄給你。

我不知道為什麼要將此輸出郵寄給您。但如果你認為它來自腳本,也許你可以抑制輸出:

-   if acpi -a | grep 'off-line'
+   if acpi -a | grep 'off-line' >/dev/null

引用自:https://unix.stackexchange.com/questions/182235