viewing bash output from another shell retrospectively
I have python process running from a shell on a Linux. At the moment I don't have physical access to this machine and only can connect through ssh.
I know that the python process stopped and I suspect there is an error trace in this shell.
I can get pid of the shell but I can't find a way to display what is in this shell. Basically, I am looking to find a way to read what is already there and do not lose this output or close the shell.
What would be the Linux tool to have a second view of what is going on in already running shell?
linux bash shell
add a comment |
I have python process running from a shell on a Linux. At the moment I don't have physical access to this machine and only can connect through ssh.
I know that the python process stopped and I suspect there is an error trace in this shell.
I can get pid of the shell but I can't find a way to display what is in this shell. Basically, I am looking to find a way to read what is already there and do not lose this output or close the shell.
What would be the Linux tool to have a second view of what is going on in already running shell?
linux bash shell
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42
add a comment |
I have python process running from a shell on a Linux. At the moment I don't have physical access to this machine and only can connect through ssh.
I know that the python process stopped and I suspect there is an error trace in this shell.
I can get pid of the shell but I can't find a way to display what is in this shell. Basically, I am looking to find a way to read what is already there and do not lose this output or close the shell.
What would be the Linux tool to have a second view of what is going on in already running shell?
linux bash shell
I have python process running from a shell on a Linux. At the moment I don't have physical access to this machine and only can connect through ssh.
I know that the python process stopped and I suspect there is an error trace in this shell.
I can get pid of the shell but I can't find a way to display what is in this shell. Basically, I am looking to find a way to read what is already there and do not lose this output or close the shell.
What would be the Linux tool to have a second view of what is going on in already running shell?
linux bash shell
linux bash shell
asked Jan 23 at 18:25
tomasz74tomasz74
132147
132147
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42
add a comment |
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42
add a comment |
3 Answers
3
active
oldest
votes
There's this answer on ServerFault:
setterm can dump the contents of a Linux virtual console:
setterm -file log.txt -dump [ttynumbers]
However, it does not have access to the scrollback buffer, only to what's currently displayed.
This will work if you want to peek into /dev/tty?
, not /dev/pts/*
, I think. Use ps -e
to identify the tty number of the shell in question. During my tests I have successfully dumped /dev/tty2
with the following command:
sudo setterm -file log.txt -dump 2
add a comment |
While you cannot view what's already happened (unless you can get that session back) there's an excellent tool called tmux
which helps with this.
Simply install (sudo apt install tmux
), run it (tmux
) and then run the process you want inside the tmux terminal. Then hit Ctrl+B, then D, to detach it - this will get you back to your previous shell and you can close the terminal. Then, connect to it from SSH or open another terminal (whatever you fancy) and run tmux attach
. That will get you back to your terminal. There are other options to explore, but this is a basic form of using tmux across different terminal sessions.
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
add a comment |
The traditional tool for recording a terminal session is script
. It is widely available, usually by default, on most Unix and Unix-like systems.
Some terminal emulators, including xterm
of course, and some pc
terminal emulators often used on the so-called "console" device of a desktop machine (i.e. the directly connected keyboard and display), do have a scrollback buffer and you can scroll back to see previous activity, and you might even be able to copy and paste it from the scrolled back view.
Indeed, the lesson here is that (most) TTY devices do not record anything -- they simply pass it through. One must arrange for one's own recording, be that by starting a script
or similar recording tool, or by using an appropriate terminal emulator.
(BTW, some systems also have a "console buffer" as well, but it only records output from the kernel itself, and it is accessed with a command usually called dmesg
.)
Canscript
work retrospectively?
– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with somescript
option.
– tomasz74
Jan 24 at 9:03
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397590%2fviewing-bash-output-from-another-shell-retrospectively%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
There's this answer on ServerFault:
setterm can dump the contents of a Linux virtual console:
setterm -file log.txt -dump [ttynumbers]
However, it does not have access to the scrollback buffer, only to what's currently displayed.
This will work if you want to peek into /dev/tty?
, not /dev/pts/*
, I think. Use ps -e
to identify the tty number of the shell in question. During my tests I have successfully dumped /dev/tty2
with the following command:
sudo setterm -file log.txt -dump 2
add a comment |
There's this answer on ServerFault:
setterm can dump the contents of a Linux virtual console:
setterm -file log.txt -dump [ttynumbers]
However, it does not have access to the scrollback buffer, only to what's currently displayed.
This will work if you want to peek into /dev/tty?
, not /dev/pts/*
, I think. Use ps -e
to identify the tty number of the shell in question. During my tests I have successfully dumped /dev/tty2
with the following command:
sudo setterm -file log.txt -dump 2
add a comment |
There's this answer on ServerFault:
setterm can dump the contents of a Linux virtual console:
setterm -file log.txt -dump [ttynumbers]
However, it does not have access to the scrollback buffer, only to what's currently displayed.
This will work if you want to peek into /dev/tty?
, not /dev/pts/*
, I think. Use ps -e
to identify the tty number of the shell in question. During my tests I have successfully dumped /dev/tty2
with the following command:
sudo setterm -file log.txt -dump 2
There's this answer on ServerFault:
setterm can dump the contents of a Linux virtual console:
setterm -file log.txt -dump [ttynumbers]
However, it does not have access to the scrollback buffer, only to what's currently displayed.
This will work if you want to peek into /dev/tty?
, not /dev/pts/*
, I think. Use ps -e
to identify the tty number of the shell in question. During my tests I have successfully dumped /dev/tty2
with the following command:
sudo setterm -file log.txt -dump 2
edited Jan 23 at 18:59
answered Jan 23 at 18:52
Kamil MaciorowskiKamil Maciorowski
26.1k155680
26.1k155680
add a comment |
add a comment |
While you cannot view what's already happened (unless you can get that session back) there's an excellent tool called tmux
which helps with this.
Simply install (sudo apt install tmux
), run it (tmux
) and then run the process you want inside the tmux terminal. Then hit Ctrl+B, then D, to detach it - this will get you back to your previous shell and you can close the terminal. Then, connect to it from SSH or open another terminal (whatever you fancy) and run tmux attach
. That will get you back to your terminal. There are other options to explore, but this is a basic form of using tmux across different terminal sessions.
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
add a comment |
While you cannot view what's already happened (unless you can get that session back) there's an excellent tool called tmux
which helps with this.
Simply install (sudo apt install tmux
), run it (tmux
) and then run the process you want inside the tmux terminal. Then hit Ctrl+B, then D, to detach it - this will get you back to your previous shell and you can close the terminal. Then, connect to it from SSH or open another terminal (whatever you fancy) and run tmux attach
. That will get you back to your terminal. There are other options to explore, but this is a basic form of using tmux across different terminal sessions.
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
add a comment |
While you cannot view what's already happened (unless you can get that session back) there's an excellent tool called tmux
which helps with this.
Simply install (sudo apt install tmux
), run it (tmux
) and then run the process you want inside the tmux terminal. Then hit Ctrl+B, then D, to detach it - this will get you back to your previous shell and you can close the terminal. Then, connect to it from SSH or open another terminal (whatever you fancy) and run tmux attach
. That will get you back to your terminal. There are other options to explore, but this is a basic form of using tmux across different terminal sessions.
While you cannot view what's already happened (unless you can get that session back) there's an excellent tool called tmux
which helps with this.
Simply install (sudo apt install tmux
), run it (tmux
) and then run the process you want inside the tmux terminal. Then hit Ctrl+B, then D, to detach it - this will get you back to your previous shell and you can close the terminal. Then, connect to it from SSH or open another terminal (whatever you fancy) and run tmux attach
. That will get you back to your terminal. There are other options to explore, but this is a basic form of using tmux across different terminal sessions.
answered Jan 23 at 18:40
QuickishFMQuickishFM
1465
1465
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
add a comment |
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
3
3
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
This should be a comment as it does not answer the OP's question. (Also, the screen utility does something similar)
– davidgo
Jan 23 at 20:44
add a comment |
The traditional tool for recording a terminal session is script
. It is widely available, usually by default, on most Unix and Unix-like systems.
Some terminal emulators, including xterm
of course, and some pc
terminal emulators often used on the so-called "console" device of a desktop machine (i.e. the directly connected keyboard and display), do have a scrollback buffer and you can scroll back to see previous activity, and you might even be able to copy and paste it from the scrolled back view.
Indeed, the lesson here is that (most) TTY devices do not record anything -- they simply pass it through. One must arrange for one's own recording, be that by starting a script
or similar recording tool, or by using an appropriate terminal emulator.
(BTW, some systems also have a "console buffer" as well, but it only records output from the kernel itself, and it is accessed with a command usually called dmesg
.)
Canscript
work retrospectively?
– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with somescript
option.
– tomasz74
Jan 24 at 9:03
add a comment |
The traditional tool for recording a terminal session is script
. It is widely available, usually by default, on most Unix and Unix-like systems.
Some terminal emulators, including xterm
of course, and some pc
terminal emulators often used on the so-called "console" device of a desktop machine (i.e. the directly connected keyboard and display), do have a scrollback buffer and you can scroll back to see previous activity, and you might even be able to copy and paste it from the scrolled back view.
Indeed, the lesson here is that (most) TTY devices do not record anything -- they simply pass it through. One must arrange for one's own recording, be that by starting a script
or similar recording tool, or by using an appropriate terminal emulator.
(BTW, some systems also have a "console buffer" as well, but it only records output from the kernel itself, and it is accessed with a command usually called dmesg
.)
Canscript
work retrospectively?
– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with somescript
option.
– tomasz74
Jan 24 at 9:03
add a comment |
The traditional tool for recording a terminal session is script
. It is widely available, usually by default, on most Unix and Unix-like systems.
Some terminal emulators, including xterm
of course, and some pc
terminal emulators often used on the so-called "console" device of a desktop machine (i.e. the directly connected keyboard and display), do have a scrollback buffer and you can scroll back to see previous activity, and you might even be able to copy and paste it from the scrolled back view.
Indeed, the lesson here is that (most) TTY devices do not record anything -- they simply pass it through. One must arrange for one's own recording, be that by starting a script
or similar recording tool, or by using an appropriate terminal emulator.
(BTW, some systems also have a "console buffer" as well, but it only records output from the kernel itself, and it is accessed with a command usually called dmesg
.)
The traditional tool for recording a terminal session is script
. It is widely available, usually by default, on most Unix and Unix-like systems.
Some terminal emulators, including xterm
of course, and some pc
terminal emulators often used on the so-called "console" device of a desktop machine (i.e. the directly connected keyboard and display), do have a scrollback buffer and you can scroll back to see previous activity, and you might even be able to copy and paste it from the scrolled back view.
Indeed, the lesson here is that (most) TTY devices do not record anything -- they simply pass it through. One must arrange for one's own recording, be that by starting a script
or similar recording tool, or by using an appropriate terminal emulator.
(BTW, some systems also have a "console buffer" as well, but it only records output from the kernel itself, and it is accessed with a command usually called dmesg
.)
edited Jan 24 at 18:45
answered Jan 24 at 0:15
Greg A. WoodsGreg A. Woods
201310
201310
Canscript
work retrospectively?
– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with somescript
option.
– tomasz74
Jan 24 at 9:03
add a comment |
Canscript
work retrospectively?
– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with somescript
option.
– tomasz74
Jan 24 at 9:03
Can
script
work retrospectively?– Kamil Maciorowski
Jan 24 at 6:34
Can
script
work retrospectively?– Kamil Maciorowski
Jan 24 at 6:34
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with some
script
option.– tomasz74
Jan 24 at 9:03
it is a very good tip, but I can't find a way to view an already existing output. Anyway, probably next time will run it with some
script
option.– tomasz74
Jan 24 at 9:03
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397590%2fviewing-bash-output-from-another-shell-retrospectively%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Has the shell been run through a terminal (ie did you launch it from a GUI)?
– davidgo
Jan 23 at 18:39
You could install a VNC server and then connect to it, to view the terminal shell? If you used a tty then I'm not sure how to view it remotely.
– QuickishFM
Jan 23 at 18:43
@davidgo the shell was started when on gnome and it is tty. I can't install VNC on this machine
– tomasz74
Jan 23 at 18:46
I would recommend going forward to use: linux.die.net/man/1/screen
– kylie.a
Jan 24 at 1:42