У меня нет практического опыта работы с выскочкой, поэтому извиняюсь, если синтаксис выскочки неверен, но фактический сценарий bash должен быть надежным. Все, что он делает, - это цикл, проверяя, запущена ли служба teampeak (ожидая 5 секунд между проверками) перед запуском службы tsbot.
script
while true; do
if [[ $(pgrep teamspeak) ]]; then
systemctl start tsbot.service
break
fi
sleep 5
done
end script
Возможно, ls -rtlc
делает то, что вы хотите. Он упорядочен по времени изменения индекса (ctime). Время изменения индекса изменяется всякий раз, когда что-либо в файле изменяется, за исключением времени доступа, т. е. выполнение чего-либо, кроме чтения, изменяет ctime (создание, запись, перемещение, изменение атрибутов и т. д.). Поэтому, пока вы не перемещали файлы и не меняли их разрешения, ctime все равно должно быть временем загрузки.
Если время загрузки не то, что вы хотите, то, боюсь, вам не повезло. Какой процесс обратился к файлу, не записывается. Время доступа к файлу обновляется при каждом чтении (или при некоторых чтениях в современной системе Linux, жертвуя удобством ради производительности), независимо от того, какое приложение читает файл. Нет никакой разницы между чтением с помощью программы для чтения PDF и чтением с помощью приложения для аудита или индексирования.
Если вы хотите знать, какие файлы вы просматривали в последнее время, вы можете проверить, хранит ли ваша программа просмотра файлов историю открытых файлов.Многие программы с графическим интерфейсом сохраняют список последних открытых файлов, но обычно они не обеспечивают простой программный доступ.
Если вы вызывали средство просмотра из командной строки, попробуйте историю своей оболочки. В зависимости от того, как вы настроили свою оболочку, ее история может быть полной или неполной, а также может иметь или не иметь отметку времени.