pgrep -x chromium
не соответствовал бы именам процесса как chromium-foo
, и > /dev/null
мог быть заменен -q
:
pgrep -xq chromium; echo $(($? == 0))
pgrep
не определяется POSIX, и например он не был включен с OS X до недавнего времени. Но Вы могли также использовать ps
:
ps -eo comm= | grep -xq chromium; echo $(($? == 0)) # GNU
ps -eco comm= | grep -xq chromium; echo $(($? == 0)) # OS X
ps -eo comm= | sed 's|.*/||' | grep -xq chromium; echo $(($? == 0)) # either
В OS X -o comm
печатает полные пути команд и -co comm
базовые имена печати. В GNU -o comm
базовые имена печати и -c
не определяется.
Вы можете преобразовать время, возвращаемое STAT
или PERL
в формате, который вы хотите с командой Дата
(при условии, что у вас установлен GNU COREETILS):
# Convert UNIX time returned by perl to year+month+day
$ date -d @$(perl -le 'print((stat shift)[9])' FILENAME) +%Y%m%d
20130703
# Convert formatted time returned by GNU stat to year+month+day
$ date -d "$(stat -c %y FILENAME)" +%Y%m%d
20130703
Дата
Сама также может дать вам время модификации для файлов непосредственно:
$ date -r FILENAME +%Y%m%d
20130703
для получения подробной информации см. На странице на странице GNU ( Дата человека
).
Я размещаю ответ, так как у меня есть несколько удалось разрешить проблему. Я говорю несколько , потому что у меня все еще есть проблемы.
Оригинация, кажется, нужно использовать заставку. Я отключил все варианты, которые я мог найти, даже исправленную Xscreensaver, но безрезультатно. Вышеуказанные исправления я пытался в моем вопросе, иногда генерируют вопросы, когда я вхожу в систему, иногда они не делают!
Что, однако, решило, что проблема - это две вещи:
Я перестал использовать VLC. Я люблю это, использовал его много лет, но это виновник, который порождает эти сеансы XCrensaver. Сейчас я использую Dragon-Player, и я могу смотреть видео без приступления XSCreenSaver.
Я принудил KDE использовать заставку, которую я выбрал. Похоже, что это переопределяют XSCreenSaver по умолчанию .
Иногда Экран проходит пустым самостоятельно, не отображая заставку, которую я выбрал. Это не мои мониторы (я использую двойную настройку, чтобы быть странным как для отключения). Похоже, что это случайно, как иногда экран остается в течение нескольких часов без подачи.
Я даже попытался исправить XscreenSaver, но ничего не работал. Я надеюсь, что это зафиксировано в следующем стабильном Debian.
-121--33241- Версия является частью имени пакета в этом случае ( BLAH-BLAH-1,49
против BLAH-BLAH
). Поэтому пакет рассматривается как другой.
Делать «LS -otr -Time-Time-Style = +% y% m% d% h% M.% s» получит дату в правильном формате, хотя с кучей Другая информация, которая легко отредактирована.
Это удобно при назначении псевдонима и вывод перенаправлен в файл.
stat -f %m -t %Y%m%d%H%M.%S myfile
Это распечатает временную метку в формате, требуемом для touch -t
.
Остерегайтесь, что метка времени выражается в локальном часовом поясе, что может быть неудобно для переноса файлов между часовыми поясами или для метки времени в течение повторяющегося часа переключения с лета на зиму в часовых поясах с DST. Чтобы избежать проблем с часовым поясом, используйте UTC метку времени:
timestamp=$(TZ=UTC stat -f %m -t %Y%m%d%H%M.%S myfile)
…
TZ=UTC touch -t "$timestamp" myotherfile
Обратите внимание, что это относится к утилите BSD stat
, например, поставляемой вместе с OSX, а не к утилитам GNU или BusyBox stat
, как, например, в Linux.