В соответствии с этой статьей следующая команда покажет соединения с процессами, содержащими "командную строку VNC":
# sudo netstat -p | grep
Обновление
Обратите внимание на то, что netstat
команда должна работать как root
Несколько больше портативный способ обрабатывать временные файлы - использовать MKTEMP
. Это создаст временные файлы и вернуть их пути для вас. Например:
$ mktemp
/tmp/tmp.zVNygt4o7P
$ ls /tmp/tmp.zVNygt4o7P
/tmp/tmp.zVNygt4o7P
Вы можете легко использовать его в сценарии:
tmpfile=$(mktemp)
echo "Some temp. data..." > $tmpfile
rm $tmpfile
Чтение страницы человека, вы должны быть в состоянии установить параметры в соответствии с вашими потребностями. Например:
-D
создает каталог вместо файла. -U
генерирует имя, но ничего не создает. Использование -U
-U
Вы можете легко получить временный каталог с ...
$ tmpdir=$(dirname $(mktemp -u))
Больше информации о MKTEMP
доступно здесь .
Править в отношении Mac OS X: Я никогда не использовал систему Mac OSX, но в соответствии с комментарием Tyilo ниже кажется, что Mac OSX MKTEMP
требует, чтобы вы предоставили Шаблон (который является необязательным аргументом на Linux). Цитирование:
Шаблон может быть любое имя файла с некотором количества «XS», добавленных к нему, например
/tmp/temp.xxxx
. Трейлинг «XS» заменяется текущим номером процесса и / или уникальной комбинации буквы. Количество уникальных имен файлов MKTEMP может вернуться, зависит от количества предоставленного «XS»; Шесть «XS» приведет к выбору MKTEMP 1 из 56800235584 (62 ** 6) возможных имен файлов.
Страница человека также говорит, что эта реализация вдохновлена страницей человека OpenBSD для MKTEMP
. Поэтому аналогичное расхождение может наблюдаться также пользователи OpenBSD и FreeBSD (см. Историю .
Теперь, как вы, вероятно, заметили, это требует от вас указать полный путь к файлу, включая временный каталог, который вы ищете в своем вопросе. Эта небольшая проблема может быть обработана с использованием коммутатора -T
. Хотя эта опция, кажется, требует аргумента ( префикс
), появилось бы, что MKTEMP
полагается на $ TMPDIR
при необходимости.
Все вообще, вы сможете получить тот же результат, что и выше, используя ...
$ tmpdir=$(dirname $(mktemp tmp.XXXXXXXXXX -ut))
Любая обратная связь с Mac OS X Пользователям было бы очень оценено, так как я не могу проверить это решение самостоятельно.
Если вы ищете одно и то же в меньшем количестве строк...
for TMPDIR in "$TMPDIR" "$TMP" /var/tmp /tmp
do
test -d "$TMPDIR" && break
done
Вы можете написать это в одной.
Использование gvim
исправляет проблему < S-CR >
, но другие сопоставления все еще не работают, например , ev
(см. в комментариях).
Можно использовать команду chsh:
~# chsh myuser
Введите новые сведения о оболочке по запросу:
Login Shell [/bin/sh]: /bin/nologin
Или более короткая версия:
~# chsh myuser -s /bin/nologin
-121--7231- Возможно:
: "${TMPDIR:=${TMP:-$(CDPATH=/var:/; cd -P tmp)}}"
cd -- "${TMPDIR:?NO TEMP DIRECTORY FOUND!}" || exit
Оболочка должна либо найти исполняемый каталог в одной из 4 альтернатив, либо выйти со значимой ошибкой. Тем не менее, POSIX определяет $ TMPDIR
переменную (для систем XCU) :
TMPDIR
Эта переменная должна представлять путь к каталогу, созданному доступно для программ, которым необходимо место для создания временных файлов.
Также требуется путь /tmp
.