Pull to refresh
32K+
35
Arthur Pro@arthurpro

User

134
Rating
11
Subscribers
Send message

👍 спасибо вам за фидбек!

добавил команду для удобства

atch rm mysession     # remove one stale or exited session
atch rm -a            # remove all stale and exited sessions at once

на такие сессии нет встроенной команды, но можно удалить сокет stale сессии:
rm ~/.cache/atch/hf-download

по сути stale сессия - это неактивная сессия у которой остался файл сокета на диске, потому что он не был закрыт

согласен! 😅

клод сделал мне тесты 😄
клод сделал мне тесты 😄

☝️ добавил в версии 0.4

есть свои недостатки в любом ИИ, но нужно смотреть на достоинства. на редакции текста было сэкономлено несколько часов и все мои мысли и идеи были сохранены без искажения 😎

👍 думаю ваша идея имеет смысл. могу добавить на днях.

я вот вижу что можно сделать подобие tail:

atch tail work           # print last 10 lines of session 'work'
atch tail -f work        # last 10 lines and follow
atch tail -f -n 20 work  # last 20 lines and follow

что думаете?

да, есть нюансы с проигрыванием лога в таких случаях. но назначение atch больше для сохранения текстового вывода при дисконнекте или ребуте. цветные и оконные программы живут по другим правилам 😅

посмотрел, выглядит интересно 👍 есть над чем подумать

zig это круто, я не спорю. но у меня пока нет достаточно времени поработать с ним плотно. попробую в ближайшем будущем. спасибо!

так да, дефолт стоит 1М

Я не объяснил, почему моя утилита написана именно на C.

Более 10 лет назад, когда я начал использовать Go в работе, я сразу подумал, что это современная замена C.

Но прошло время, и я начал возвращаться к C, переписывая небольшие утилиты на нём. Причин несколько.

Asm и C были созданы в эпоху малых хранилищ данных (или их отсутствия), поэтому бинарники были максимально оптимизированы. В наше время несколько лишних мегабайт почти ничего не значит. Но когда утилит становится много и нужно быстро развернуть десяток, это может вылиться в сотни мегабайт, и установка займёт минуты вместо секунд.

Когда каждый день работаешь с десятками недолгоживущих Linux-систем, всё это создаёт бесполезный трафик в несколько гигабайт.

Я бы даже atch переписал на Asm, если бы мог. 😅

да, видели. проблема в том, что он весит 10MB, написан на zig.

atch и dtach это чистый C и размер бинарника в килобайтиках 😎

-rwxr-xr-x  1 dev dev 9.8M Feb 23 13:56 zmx
-rwxr-xr-x  1 dev dev 130K Mar  2 23:02 atch

как я сейчас использую atch, это очень нестандартно.
я использую кастомный ssh, который инжектит на хост atch, если он там не установлен, и дальше создается atch сессия если в логине пользователя был префикс % – это у меня флаг для персистентной сессии. моя ssh команда выглядит как ssh %user@host.com и я попадаю в сессию atch.

иными словами – утилита разоработана под мои собственные нужды для ssh соединений.

но использовать atch можно по-разному 😎

конечно, у меня нет достаточного опыта с Rust )

добавил! 😎 вот пример:

atch -C 4m new mysession       # 4 MB cap
atch -C 128k start daemon      # 128 KB cap
atch -C 0 start daemon         # no log at all

-C <size>Set the on-disk log cap for the session being created. Accepts a bare number (bytes), or a number with k/K (KiB) or m/M (MiB) suffix. 0 disables the log entirely. Default: 1m.

да, старый дедовский метод иногда тоже неплохо помогает 😅

потому что не всем это подходит. часто нужна интерактивность, а не только голый лог.

Information

Rating
56-th
Registered
Activity

Specialization

Бэкенд разработчик, Архитектор программного обеспечения
Ведущий
Linux
Golang
Docker