Другой способ получить исходные значения - использовать grep cpu0 / proc / stat
. Там вы видите количество отметок в каждом состоянии. Выполните man proc
, чтобы узнать подробности интерпретации. Если вы хотите получить процентное соотношение, вы должны сложить их вместе и разделить, например, в соответствии с предложением Джона В. Гилла .
Я не совсем понимаю, зачем вообще нужен виртуальный последовательный порт. Что произойдет, если вы просто telnet 10.0.0.1 4030
?
Далее следует запустить socat
без sudo
от имени обычного пользователя и выбрать доступный путь, например./tmp/vcom0
(или как там ).
Если это по какой-то причине не работает, и вы, очевидно, можете sudo
, попробуйте сменить владельца
sudo chown your_username /dev/virtualcom0
или разрешения
sudo chmod o+rw /dev/virtualcom0
Редактировать
Не пытайтесь создавать udev
правила для конкретного псевдотерминала. Во-первых, вы не знаете заранее, какой это псевдотерминал, во-вторых, псевдотерминалы используются повсеместно, и другие программы не смогут создать этот псевдотерминал для другого пользователя.
Самое чистое решение — использовать вариант (1)(/tmp/vcom0
).
Если вы настаиваете на других вариантах, создайте короткий сценарий, содержащий как socat
, так и chmod
/ chown
, и выполните этот сценарий с помощью sudo
. При необходимости вы можете переходить по символьным ссылкам с помощью readlink
.
Другой альтернативой является написание короткого скрипта, который вызывает как socat
как обычный пользователь, так и stellarium
с созданной им ссылкой, и уничтожает socat
, когда это делается. Используйте этот скрипт для запуска stellarium
.
Я нашел ответ после просмотра справочной страницы для socat.
Вы можете добавить режим и группу к атрибутам вашего pty, добавив еще несколько выражений в командную строку. Чтобы последовать вашему примеру, но с вашим новым последовательным портом, принадлежащим группе дозвона, и с доступом для чтения/записи для этой группы, сделайте следующее:
$ sudo socat pty,link=/dev/virtualcom0,raw,group-late=dialout,mode=660 tcp:10.0.0.1:4030