Как заставить систему завершать работу, когда Xorg завершен?

Проблема - это sort и uniq используют информацию о сопоставлении для локали. Выключение локали для двух работ команд:

cat sample | awk '{print $2}' | grep -o . | LC_ALL=C sort | LC_ALL=C uniq -c | sort -n
      1 ʊ
      1 ʌ
      1 a
      1 æ
      1 i
      1 v
      2 ʃ
      2 d
      2 t
      3 e
      3 l
      3 ɔ
      3 r
      4 ɪ
      4 n
      9 ˈ
      9 b
     11 ə
4
17.08.2014, 05:48
1 ответ

Хотя это не совсем то же самое, что трубопровод xargs ls -al , флаг -ls самого поиска может оказаться достаточным для вас и немного упростить команду:

find . ! -user username -mtime +365 -type f -ls > /tmp/list

Если вы считаете, что файл отсутствует, посмотрите, что stat говорит об этом. Имейте в виду, что -mtime является условием, касающимся времени модификации. Есть также время изменения inode и время доступа.

-121--87703-

Думаю, я понял что-то, что работает.

Я использовал программу LaunchControl для создания файла enable core dumps.plist по адресу /System/Library/LaunchDaemons со следующим содержимым:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>GroupName</key>
    <string>wheel</string>
    <key>InitGroups</key>
    <true/>
    <key>Label</key>
    <string>core dumps launchctl</string>
    <key>ProgramArguments</key>
    <array>
        <string>launchctl</string>
        <string>limit</string>
        <string>core</string>
        <string>unlimited</string>
        <string>unlimited</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>UserName</key>
    <string>root</string>
</dict>
</plist>

с такими разрешениями:

$ ls -al enable\ core\ dumps.plist 
-rw-r--r--  1 root  wheel  582 Dec 30 15:38 enable core dumps.plist

и это, казалось, делает трюк:

$ launchctl limit core
    core        unlimited      unlimited 
$ ulimit -a core
core file size          (blocks, -c) unlimited
...
<output snipped>
...

Я создал небольшую программу тестирования, которая просто терпит крах:

$ ./a.out 
Segmentation fault: 11 (core dumped)

И, voila, был создан дамп ядра:

$ # ls -al /cores/
total 895856
drwxrwxr-t@  3 root  admin        102 Dec 30 15:55 .
drwxr-xr-x  31 root  wheel       1122 Oct 18 10:32 ..
-r--------   1 root  admin  458678272 Dec 30 15:55 core.426
-121--45986-

Используйте displaymanager, который поддерживает скрипты Xreset и Xsession , например kdm, и настройте его для автоматического входа в систему.

$ head -n5 /etc/kde4/kdm/Xreset 
#! /bin/sh
# Xreset - run as root after session exits

# Reassign ownership of the console to root, this should disallow
# assignment of console output to any random users's xterm. See Xstartup.

Там можно разместить команду shutdown. Посмотрите на lightdm, может быть, даже xdm, если они поддерживают такие сценарии тоже. может, даже нодм.

0
27.01.2020, 21:05

Теги

Похожие вопросы