Интерфейсы QT сломаны

Если вы просто хотите знать, почему прокрутка вниз.

Из man bash

SHLVL  Incremented by one each time an instance of bash is started.

Но это не на 100% понятно ... Итак, давайте посмотрим:

# echo $SHLVL
1
# ps faux
...
user    4440  0.0  0.9 599220 18796 ?        Sl   08:35   0:00 gnome-terminal
user    4447  0.0  0.2  31912  5304 pts/2    Ss+  08:35   0:00  \_ bash
...
#
# screen
# echo $SHLVL
2
# ps faux
...
user    4440  0.0  0.9 599220 18796 ?        Sl   08:35   0:00 gnome-terminal
user    4447  0.0  0.2  31920  5324 pts/2    Ss   08:35   0:00  \_ bash
user    4772  0.0  0.0  34656  1224 pts/2    S+   08:43   0:00      \_ screen
user    4773  0.0  0.0  34816  1396 ?        Ss   08:43   0:00          \_ SCREEN
user    4774  0.3  0.2  31952  5188 pts/3    Ss+  08:43   0:00              \_ /bin/bash
...
#
# bash
# echo $SHLVL
3
# ps faux
user    4440  0.0  0.9 599220 18796 ?        Sl   08:35   0:00 gnome-terminal
user    4447  0.0  0.2  31920  5324 pts/2    Ss   08:35   0:00  \_ bash
user    4772  0.0  0.0  34656  1224 pts/2    S+   08:43   0:00      \_ screen
user    4773  0.0  0.0  34816  1396 ?        Ss   08:43   0:00          \_ SCREEN
user    4774  0.1  0.2  31952  5348 pts/3    Ss   08:43   0:00              \_ /bin/bash
user    4832  1.3  0.2  31952  5184 pts/3    S+   08:45   0:00                  \_ bash

Таким образом, переменная увеличивается каждый раз, когда bash вложен в другой bash. И ваша часть кода влияет на то, что при выходе последнего экрана экран будет очищен. Но это не было выполнено на графических сеансах терминала, только в виртуальных терминалах (например, когда вы нажимаете ctrl + alt + f1) и работаете там.

Причина, по которой следующий человек, который работает на этом виртуальном терминале не может видеть результат последнего экрана, который у вас был. Потому что, возможно, на экране есть важная информация.

1
задан 13 April 2017 в 15:24

1 ответ

У меня была та же проблема. Вы правы, причина в том, что в системе нет свободной общей памяти.

Чтобы узнать, кто берет всю общую память, вы можете запустить ipcs -m -p. В моем случае вывод был что-то вроде:

$ ipcs -m -p

------ Shared Memory Creator/Last-op PIDs --------
shmid      owner      cpid       lpid      
1277952    weekens    3642       3746      
2523137    weekens    4046       4119      
1409026    weekens    3696       3343      
786435     weekens    3203       1310      
1802244    weekens    3887       3919      
1900549    weekens    3899       3343      
1998854    weekens    3906       3343      
2031623    weekens    3872       498       
2326536    weekens    3885       17493     
2228233    weekens    3885       17493     
2261002    weekens    3885       17493     
2424843    weekens    3872       498       
2555916    weekens    3885       17493     
136708109  weekens    3872       498       
2719758    weekens    4176       3343      
2752527    weekens    4176       3343      
2850832    weekens    4573       18066     
2949137    weekens    4155       788       
2981906    weekens    4155       788       
3112979    weekens    4916       4916      
3145748    weekens    4916       4916      
3178517    weekens    4916       4916      
3211286    weekens    4916       4916      
3244055    weekens    4916       4916      
3276824    weekens    4916       4916      
3309593    weekens    4916       4916      
3342362    weekens    4916       4916      
3375131    weekens    4916       4916      
3407900    weekens    4916       4916      
3440669    weekens    4916       4916      
3473438    weekens    4916       4916      
3506207    weekens    4916       4916      
3538976    weekens    4916       4916      
3571745    weekens    4916       4916      
3604514    weekens    4916       4916      
3637283    weekens    4916       4916      
3670052    weekens    4916       4916      
3702821    weekens    4916       4916      
3735590    weekens    4916       4916      
3768359    weekens    4916       4916      
3801128    weekens    4916       4916      
3833897    weekens    4916       4916      
3866666    weekens    4916       4916      
3899435    weekens    4916       4916      
3932204    weekens    4916       4916      
3964973    weekens    4916       4916      
3997742    weekens    4916       4916      
4030511    weekens    4916       4916      
4063280    weekens    4916       4916      
4096049    weekens    4916       4916      
4128818    weekens    4916       4916      
4161587    weekens    4916       4916      
4194356    weekens    4916       4916      
4227125    weekens    4916       4916      
4259894    weekens    4916       4916      
4292663    weekens    4916       4916      
4325432    weekens    4916       4916      
4358201    weekens    4916       4916      
4390970    weekens    4916       4916
.... 4916 PID all the way down

, поэтому процесс с PID 4916 оказался потребляющим всю общую память (это был IntelliJ IDEA). После убийства этого процесса проблема была решена.

3
ответ дан 23 May 2018 в 15:54

Другие вопросы по тегам:

Похожие вопросы: