Я хочу запускать команды на виртуальной машине и получать выходные данные без SSH, поскольку виртуальная машина будет запускать некоторые сетевые тесты, которые могут нарушить работу интерфейса, а IP-адрес может быть не всегда доступен. Каков наилучший способ добиться этого через /dev /pts /X?
Я могу запустить любую команду через
echo "some command" > /dev/pts/2 (or /dev/pts/4 with virtio)
и увидеть его на виртуальной машине (используя virt-manager), но я не знаю, как перехватить вывод, как долго ждать, пока команда закончит выполнение и ее код возврата ... Есть намеки?
Это XML-фрагмент моей виртуальной машины:
<serial type='pty'>
<source path='/dev/pts/2'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/2'>
<source path='/dev/pts/2'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<console type='pty'>
<source path='/dev/pts/4'/>
<target type='virtio' port='1'/>
<alias name='console1'/>
</console>
<channel type='pty'>
<source path='/dev/pts/3'/>
<target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
<alias name='channel0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>