GNU Screen is very powerful piece of software that lets you multiplex virtual consoles. I personally use it for running jobs & servers on background. I also use irssi trough screen.
Name your screens!
When you run stuff at screen its recommended to set name for that session using -S switch.
For example with irssi i would specify irssi also as session name.
ID in front of your session name is PID of virtual screen console.
How to send commands to screen?
Especially with Minecraft server its handy to communicate with your server without attaching your screen session. For automation this is good, you can do daily backups, restart your server and before all that, you can alert your users!
This doesn't work if your screen is password protected.
First you specify session with -S, then you need to do -X stuff '<message here>'
"stuff" needs to be there because.. you are sending stuff to it. Sorry i couldn't find any details about this.
\012 is a newline character, if you don't pass this, screen will input your message but wont "press enter" for you, so your message will remain in the console input screen.
Name your screens!
When you run stuff at screen its recommended to set name for that session using -S switch.
For example with irssi i would specify irssi also as session name.
m@srv:~$ screen -S irssi irssi
m@srv:~$ screen -list
There are screens on:
16425.irssi (09/13/2012 01:28:36 PM) (Detached)
16323.mc (09/13/2012 01:24:43 PM) (Detached)
2 Sockets in /var/run/screen/S-m.
ID in front of your session name is PID of virtual screen console.
m@srv:~$ ps -A | grep 16425
16425 ? 00:00:00 screen
As you can see there is now two screens running, irssi and mc (mc is my minecraft server :-)). Why I'm telling this is simply because this way its bit easier to track what is running in your screen. Its not mandatory.
You can resume this sessions now with name, for example
screen -r irssi
If you are new to screen here is a good tip for you, you can detach from screen by doing ctrl+a+d
Especially with Minecraft server its handy to communicate with your server without attaching your screen session. For automation this is good, you can do daily backups, restart your server and before all that, you can alert your users!
This doesn't work if your screen is password protected.
screen -S mc -X stuff 'say Server going down for maintenance in 20 seconds'$'\012'
First you specify session with -S, then you need to do -X stuff '<message here>'
"stuff" needs to be there because.. you are sending stuff to it. Sorry i couldn't find any details about this.
\012 is a newline character, if you don't pass this, screen will input your message but wont "press enter" for you, so your message will remain in the console input screen.
OMG! Server going down |
Thanks for this. I've observed that if you only run a single screen you can omit the -S.
ReplyDeleteIn my case I want to issue some commands to irssi. So I can get the output by monitoring a logfile.
kuşadası
ReplyDeletemilas
çeşme
bağcılar
giresun
7MP