www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

¿se Puede en linux pasar la instancia de la clase de un proceso a otro y realizar con él?

aloorpro 2017-08-26 06:47:34

en Realidad, sabž. Como ejemplo y explicación de los traeré a la tarea que él puso delante de mí.
Hay un equipo de trabajo, Linux Mint. En él se realiza el chirrido de Python 3 (lo llamaremos check.py), que inicia una de las dos conexiones con los conmutadores de la red de телнету (hizo a través de pexpect), en cada uno de ellos realiza una acción, recopila la información, y luego en una de las uniones se reserva интерактив, y la segunda elimina. Me dieron ganas de abrir una segunda ventana de la terminal, en la que será интерактив con la segunda conexión.
Porque yo todas las operaciones попрятал en las clases, el código se veía así:

from connections import connect_to_switch

switch1 = connect_to_switch('192.168.1.1')
switch2 = connect_to_switch('192.168.2.1')
#Дальше всякие действия с этими соединениями
del switch2
switch1.interact()

Es decir, me dieron ganas de una nueva ventana de terminal, en el que habría sido el resultado de la ejecución switch2.interact(), y no me quería arrancar la conexión a 192.168.2.1. Pero no lo entiendo, como se puede hacer esto, no entiendo, que para este resultado se debe, y no se encontró nada en google. Por lo tanto, decidió la tarea a través de un script opcional:
from connections import connect_to_switch
import subprocess

switch1 = connect_to_switch('192.168.1.1')
switch2 = connect_to_switch('192.168.2.1')
#Дальше всякие действия с этими соединениями
del switch2
subprocess.call("mate-terminal -e '/home/user/script.py {}'".format('192.168.2.1'), shell=True)
switch1.interact()

En el script /home/user/script.py como es fácil de adivinar, de 3 de costura, que se muestra arriba ya dos veces.
Algunas consideraciones que se encuentran en la cabeza, formulado ya revisados preguntas:
  • Como se puede conseguir el objeto definido en el check.py y cuáles son las opciones para ello son necesarios?
  • ¿Cómo se puede realizar una acción con él, una cierta sólo en check.py?
  • Puede ser, puede ejecutar интерактив de switch2 en el script (primario), y luego combinar una nueva ventana de terminal con esta sesión? (si sí, explique por favor, a nivel de principio)
  • Si el programa, en principio, no puede ejecutar su código en el marco de otro proceso, por favor, explique por qué.
  • Sobre qué temas desea eliminar su analfabetismo, para saber ms a todas estas preguntas?

Total answers: 1

lxsmkv 2017-08-26 07:36:25

Un tema se llama [python] interprocess communication,
a la otra [python] object serialization
probablemente la respuesta a su pregunta

aloorpro 2017-08-26 15:56:47

muchas gracias. Probablemente, por cierto, todavía vale la pena leer sobre sockets y de la sesión en linux.


Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.