GNU-Screen session module handler for NodeJs
Project description
What is this ?
This was build to handle and manage gnu-screen session. Actually work well.
Table of Contents
Required
- Python: 3.8
- GNU-Screen: 4.08.00
Installation
First make sure you have gnu-screen installed:
$ apt-get install screen
To run this project, use pip:
$ pip install gnu-screen
Functions
getAll()
Return all available Screens.
Screen
Create a representation of gnu-screen session : Screen(id, mode="")
If you want to save logs change mode to 's'
.
Events:
close
When screen is closed.stdout
str
When something new is append in logFile.
Methods:
Screen.exist()
Check if screen's session is running.Screen.setup()
Fetch self variable with running session.Screen.setRule(*rules)
Rules to apply in screen session.Screen.write(*stdins)
Write something in screen session.Screen.setStdout(state)
Watch over logFile to callstdout
Event.Screen.logFile()
Return logFile.Screen.on(call)
Set an event (disconnect()
,close()
,stdout(log)
).Screen.run(stdin=None)
Connect/create to screen session.Screen.close()
Close screen session.Screen.kill(signal=15)
Kill screen session.
KeyValues:
Screen.id
str | None
Screen session's id.Screen.logFilePath
str | None
Path of logFile is there one.Screen.events
dict
Screen session events.Screen.pid
int | None
Pid of screen session if is running.Screen.date
str | None
Date of screen session if is running.Screen.state
str | None
State of screen session if is running.
Exemple
import os
import gnu_screen as sc
# Generate 10 screens session
for n in range(10):
scr = sc.Screen(id=f"test n°{n}")
print(scr)
scr.run()
# Find and close the 10 screens session
for scr in sc.getAll():
print(scr)
scr.close()
# Create a new screen session
test = sc.Screen(id="final test", mode="r")
test.run()
print(test)
# Allow "stdout" event
test.setStdout()
# Remove screen session
def close():
test.close()
if not test.pid:
print("Closed final test's screen session")
else:
test.kill()
print("Killed test's screen session")
#self kill
os.kill(os.getpid(), 15)
# Get stdout from screen session
@test.on
def stdout(log):
print("stdout:", log)
if "!close" in log:
close()
# Pipe input to the screen session
while test.pid:
try:
test.write(input())
except KeyboardInterrupt:
# Capture Ctrl + C to close screen session
close()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gnu-screen-0.0.8.tar.gz
(4.4 kB
view hashes)
Built Distributions
gnu_screen-0.0.8-py3.8.egg
(8.3 kB
view hashes)
Close
Hashes for gnu_screen-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1825357ca6c3ddd35effbd6c919085000bf288c5ff2a2b15cb5ff8ea5315e82b |
|
MD5 | 235df078eb0a075b344e8f85e27fefe8 |
|
BLAKE2b-256 | d8335239003886f1b9caaf3949a4063dbf7def23f3db43990c3e4bec61a37a4c |