Переглянути сценарій через SSH?


2

Друг, використовуючи віддалену машину, запустив сценарій, який SSHed на моїй машині, і запустив наступний скрипт python, який знаходиться на моїй машині:


while (1):

....print "hello world"

(цей сценарій просто друкує "привіт світ" постійно.

Зараз я увійшов до своєї машини. Як я бачу вихід сценарію, яким мій друг працював?

якщо це допомагає, я можу "помітити" сценарій, який використовує мій друг:


me@home:~$ ps aux | grep justprint.py

**friend 7494 12.8 0.3 7260 3300 ? Ss 17:24 0:06 python TEST_AREA/justprint.py**

friend 7640 0.0 0.0 3320 800 pts/3 S+ 17:25 0:00 grep --color=auto just

які дії я повинен зробити, щоб переглянути повідомлення "привіт світ" на моєму екрані?


2
На це питання непросто відповісти, і вам, мабуть, буде краще запитатись на unix.stackexchange.com.
Фальмарі

Відповіді:


4

Якщо він використовував screen, ви можете зробити це, screen -rщоб приєднати сеанс до сеансу або screen -xподілитися на екрані.

Інакше буде трохи складніше. Вам, ймовірно, доведеться змінити права /dev/pts/3спочатку і після цього ви можете зробити tail -F /dev/pts/3.

Існує також інший варіант, який ви можете використовувати ttysnoopдля цього. http://www.linuxhelp.net/guides/ttysnoop/


WoLpH, дякую за вашу відповідь. Друг насправді використав скрипт python, щоб сш в мою машину і запустив цей сценарій. Чи можу я все-таки використовувати будь-яке з перерахованих вище ваших рішень?

Крім того, чи знаєте ви, чи може друг змінити свій скрипт на SSH в моїй машині та запустити локальний сценарій за допомогою "екрана"? чи дозволить мені тоді переглянути вихід?

@ user540009: останні 2 рішення все одно повинні працювати, навіть коли вони виконуються зі сценарію. З екрану ви можете просто зробити щось подібне:screen -S some_name the_python_app
Wolph

WoLpH, я спробував запустити 'screen -S some_name the_python_app' з Python, але я отримав повідомлення: «Потрібно підключитись до терміналу».

4

Використання ssh -tдозволить WoLpH працювати на екрані.

ssh -t <remote_host> screen

дає мені екран на remote_host.


Влучне зауваження; Мені ніколи не доводилося його використовувати, screenзавжди було добре, але я бачу, що іноді це може знадобитися.
El Yobo

+1 від мене :) Незабаром у вас буде достатньо репрезентації для коментарів;)
Wolph

Кастерма, відклавши проблему 'ssh', чи можна запустити це із сценарію python? Я спробував викликати: os.system ("екран -S some_name python python_script.py"), але це дає мені помилку: "Потрібно підключити до терміналу." що я пропускаю?

Якщо між двома людьми не має бути взаємодії, і ви просто хочете поділитися результатами, відповідь на це питання в unix та linux stackexchange - це найпростіший шлях: unix.stackexchange.com/questions/4786/view- скрипт-над-SSH Я ніколи не намагався запустити екран всередині пітона.

1

Припустимо, що ви ввійшли в систему за допомогою різних облікових записів користувачів. Коротка відповідь - ви не можете. Якщо ви можете, це буде проблемою безпеки. У вашому звичайному обліковому записі користувача не буде дозволу читати процес, pty та сокет іншого процесу.

Екран може допомогти, але його слід скласти з підтримкою багатокористувача, а потім встановити та налаштувати належним чином (з ACL та ін.). Якщо це зроблено заздалегідь, ви можете використовувати екран.

наприклад від клієнта: ssh -t friend @ host screen -r me / [session]

Інший варіант - ttysnoop, але знову вимагає певної попередньої конфігурації.

Справжнє питання - "чому ти хочеш це робити?" Якої кінцевої мети ви намагаєтеся досягти? Мабуть, є й інший, кращий спосіб.


Кіт, дякую за вашу відповідь. Я намагаюся досягти наступного: (1) [робота з машиною A] запускає скрипт python програмно на машині A {значить, сценарій буде запускати сценарій, використовуючи, скажімо, os.system (....)} ( 2) [працюючи з машиною A], сценарій, в який ми працювали (1), друкує інформацію на екран (машини A). (3) [робота з машиною B] Тепер я хочу увійти в машину A за допомогою ssh і 'переглянути' вихід сценарію, в який ми потрапили (1), якщо це має значення, я використовую те саме ім’я користувача на обох машинах.

Ну тоді це звучить, як звичайний екран буде працювати для вас тоді. Спробувати.
Кіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.