[CRIU] Standard stream is not terminal

Cyrill Gorcunov gorcunov at gmail.com
Mon Sep 1 08:52:48 PDT 2014


On Mon, Sep 01, 2014 at 07:43:27PM +0400, Pavel Emelyanov wrote:
> On 09/01/2014 06:54 PM, Sanidhya Kashyap wrote:
> > 
> > 
> >     Well, one of the way is to not pass -j option, then criu will not use standart
> >     terminal. This though will not allow you to migrate terminals. See
> > 
> >     http://criu.org/Advanced_usage "Shell jobs C/R" article.
> > 
> > 
> > I guess, this (without -j option) won't work in case of processes attached to any pts. And if I will try
> > to take dump of the process without -j, there will be a problem with that. Is there any other alternative
> > that you can let me know.
> 
> Why are we playing with -j option at all? AFAIU Sanidhya is trying to dump
> the whole service which should be self contained and doesn't require this one.
> Am I wrong?

We require stdin to be a terminal to inherit it when we're migrating pty. Look,
at moment of restore we don't know yet if we would need pty to migrate or
not so we're reserving stdin (which might not be even needed eventually).
Otherwise we will have to read tty images early and do a complete analisys
if tty will require migration procedure or not. That's simply how it's done
at the moment.

Thus no, there is no other option at the moment, you need to provide
us real tty which we could reuse. Probably we could do a trick --
defer determination if stdio is tty until we really need it.

I'm not really sure how criu is integrated into startup service,
Sanidhya mind to provide more details please?


More information about the CRIU mailing list