~/.toprc

Добрый день. Меняю цветовую схему в top,сохраняю в ~/.toprc,после перезапуска top,цветовая схема снова по умолчанию черно-белая.
Если тоже самое проделать из под рута(кстати из под рута top имеет по умолчанию цветную схему)происходит тоже самое,цветная схема бывшая у рута по умолчанию не восстанавливается...все в черно-белом цвете,грустно :-( подскажите в чем может быть проблема,почему top не реагирует на внесенные изменения в ~/.toprc? заранее спасибо.

Calculate Linux Desktop x86_64 10.4 GNOME
top: procps version 3.2.8

$ cd $ rm .toprc $

$ cd
$ rm .toprc
$ top
z
x
W
^c
$ top

:-D спасибо ;-)

ну это совсем просто... не стал бы и тревожить,rm не помогает права -rw-r--r-- ,может top еще откуда то читает настройки...в gentoo такого не наблюдалось...

alex написал(а): ну это

alex написал(а):
ну это совсем просто... не стал бы и тревожить,rm не помогает права -rw-r--r-- ,может top еще откуда то читает настройки...в gentoo такого не наблюдалось...

ради интереса проверил, оказывается и у меня не считывает, (офф-топ) но мне больше симпатизирует htop :)

список файлов, открытых процессом

$ top
с помощью ps ловим процесс(надеюсь правильно выражаюсь)

# ps aux | grep top
alex 3832 0.2 0.0 19040 1364 pts/5 S+ 16:57 0:00 top

вывожу список файлов открытых данным процессом

$ lsof -p pid - в моем случае 3832
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
top 3832 alex cwd DIR 8,5 1072 275 /home/alex
top 3832 alex rtd DIR 8,2 512 2 /
top 3832 alex txt REG 8,2 61792 53 /usr/bin/top
top 3832 alex mem REG 8,2 47432 285324 /lib64/libnss_files-2.10.1.so
top 3832 alex mem REG 8,2 43384 285321 /lib64/libnss_nis-2.10.1.so
top 3832 alex mem REG 8,2 88880 285326 /lib64/libnsl-2.10.1.so
top 3832 alex mem REG 8,2 31432 7335 /lib64/libnss_compat-2.10.1.so
top 3832 alex mem REG 8,2 14512 7440 /lib64/libdl-2.10.1.so
top 3832 alex mem REG 8,2 1399984 7434 /lib64/libc-2.10.1.so
top 3832 alex mem REG 8,2 325424 29502 /lib64/libncurses.so.5.7
top 3832 alex mem REG 8,2 64192 28542 /lib64/libproc-3.2.8.so
top 3832 alex mem REG 8,2 123168 7420 /lib64/ld-2.10.1.so
top 3832 alex 0u CHR 136,5 0t0 8 /dev/pts/5
top 3832 alex 1u CHR 136,5 0t0 8 /dev/pts/5
top 3832 alex 2u CHR 136,5 0t0 8 /dev/pts/5
top 3832 alex 3r REG 0,3 0 4026531981 /proc/uptime
top 3832 alex 4r REG 0,3 0 4026531978 /proc/loadavg
top 3832 alex 5r REG 0,3 0 4026531980 /proc/stat
top 3832 alex 6r REG 0,3 0 4026531979 /proc/meminfo

далее в top - shift+Z, enter, shift+W...

после чего снова проверяю список файлов открытых процессом... результат тот же,он читает домашнею директорию(в первой строчке), но вот файл ~/.toprc там не фигурирует. может есть еще идеи,а то я все как то методом тыка...

Видимо вам нужно удалить

Видимо вам нужно удалить /etc/toprc

Как отловить (через lsof вы ничего не увидите):

$ strace top 2>&1 |grep toprc -C5
open("/etc/toprc", O_RDONLY)            = -1 ENOENT (No such file or directory)
open("/root/.toprc", O_RDONLY)          = 3

Жмем shift+w

read(0, "W", 1)                         = 1
ioctl(0, TCFLSH, 0)                     = 0
fcntl(0, F_SETFL, O_RDWR|O_LARGEFILE)   = 0
open("/root/.toprc", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd305d9f000
write(7, "RCfile for \"top with windows\"\t\t#"..., 617) = 617
close(7) 

вот что показало...

в /etc/ нет такого файла

$ equery f procps
[ Searching for packages matching procps... ]
* Contents of sys-process/procps-3.2.8:
/bin
/bin/kill
/bin/ps
/lib64
/lib64/libproc-3.2.8.so
/lib64/libproc.so -> libproc-3.2.8.so
/sbin
/sbin/sysctl
/usr
/usr/bin
/usr/bin/free
/usr/bin/pgrep
/usr/bin/pkill -> pgrep
/usr/bin/pmap
/usr/bin/pwdx
/usr/bin/skill
/usr/bin/slabtop
/usr/bin/snice -> skill
/usr/bin/tload
/usr/bin/top
/usr/bin/uptime
/usr/bin/vmstat
/usr/bin/w
/usr/bin/watch
/usr/include
/usr/include/proc
/usr/include/proc/alloc.h
/usr/include/proc/devname.h
/usr/include/proc/escape.h
/usr/include/proc/procps.h
/usr/include/proc/pwcache.h
/usr/include/proc/readproc.h
/usr/include/proc/sig.h
/usr/include/proc/slab.h
/usr/include/proc/sysinfo.h
/usr/include/proc/version.h
/usr/include/proc/wchan.h
/usr/include/proc/whattime.h
/usr/share
/usr/share/doc
/usr/share/doc/procps-3.2.8
/usr/share/doc/procps-3.2.8/BUGS.bz2
/usr/share/doc/procps-3.2.8/HACKING.bz2
/usr/share/doc/procps-3.2.8/NEWS.bz2
/usr/share/doc/procps-3.2.8/TODO.bz2
/usr/share/doc/procps-3.2.8/sysctl.conf.bz2
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/free.1.bz2
/usr/share/man/man1/kill.1.bz2
/usr/share/man/man1/pgrep.1.bz2
/usr/share/man/man1/pkill.1.bz2
/usr/share/man/man1/pmap.1.bz2
/usr/share/man/man1/ps.1.bz2
/usr/share/man/man1/pwdx.1.bz2
/usr/share/man/man1/skill.1.bz2
/usr/share/man/man1/slabtop.1.bz2
/usr/share/man/man1/snice.1.bz2
/usr/share/man/man1/tload.1.bz2
/usr/share/man/man1/top.1.bz2
/usr/share/man/man1/uptime.1.bz2
/usr/share/man/man1/w.1.bz2
/usr/share/man/man1/watch.1.bz2
/usr/share/man/man5
/usr/share/man/man5/sysctl.conf.5.bz2
/usr/share/man/man8
/usr/share/man/man8/sysctl.8.bz2
/usr/share/man/man8/vmstat.8.bz2

$ strace top 2>&1 |grep toprc -C5
read(3, "cpu 207497 4863754 1884143 1233"..., 8192) = 1909
close(3) = 0
open("/proc/sys/kernel/pid_max", O_RDONLY) = 3
read(3, "32768\n", 24) = 6
close(3) = 0
open("/etc/toprc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/alex/.toprc", O_RDONLY) = 3
read(3, "RCfile for \"top with windows\"\t\t#"..., 1085) = 605
close(3) = 0
getuid() = 1000
stat("/proc/self", {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fff2a254ea0) = -1 EINVAL (Invalid argument)

жмем shift+W

--
select(1, [0], NULL, NULL, {3, 0}) = 1 (in [0], left {2, 758598})
fcntl(0, F_SETFL, O_RDWR|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "W", 1) = 1
ioctl(0, TCFLSH, 0) = 0
fcntl(0, F_SETFL, O_RDWR|O_LARGEFILE) = 0
open("/home/alex/.toprc", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdee55f3000
write(7, "RCfile for \"top with windows\"\t\t#"..., 605) = 605
close(7) = 0
munmap(0x7fdee55f3000, 4096) = 0
write(1, "\33[6;1H\33[7m Wrote configuration t"..., 71

китайская грамота :-$

дождусь когда мир обновится,осталось всего то Jobs: 756 of 972 complete,может излечится как то само чудесным и неведомым образом.

bes.internal

bes.internal написал(а):
Видимо вам нужно удалить /etc/toprc

Как отловить (через lsof вы ничего не увидите):

$ strace top 2>&1 |grep toprc -C5
open("/etc/toprc", O_RDONLY)            = -1 ENOENT (No such file or directory)
open("/root/.toprc", O_RDONLY)          = 3

Жмем shift+w

read(0, "W", 1)                         = 1
ioctl(0, TCFLSH, 0)                     = 0
fcntl(0, F_SETFL, O_RDWR|O_LARGEFILE)   = 0
open("/root/.toprc", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd305d9f000
write(7, "RCfile for \"top with windows\"\t\t#"..., 617) = 617
close(7) 

рядом на соседней машинке бубунту стоит,действительно lsof не ловит,вывод такой же...thanks

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".