*
- специальный символ оболочки (совпадение глобуса), который соответствует именам файлов и каталогов в текущем каталоге.
$ ls *
Будет выведен список всех файлов и каталогов в текущем каталоге. Итак, в вашем случае '*' вернет, а 'echo' выведет их на консоль. Попробуйте это, чтобы подтвердить:
$ x=*
$ echo $x
Причина, по которой вы наблюдаете такое поведение, вероятно, связана с тем, что ваш сеанс входа в систему уже связан с группой ограничения памяти, и процесс наследует ее в соответствии с конфигурацией systemd.
Проверьте контрольную группу запущенного процесса с помощью:
cat /proc/pid/cgroup
...и вы можете увидеть что-то вроде:
13:name=systemd:/user/0.user/2.session
12:debug:/
11:pids:/
10:net_prio:/user/0.user/2.session
9:perf_event:/user/0.user/2.session
8:net_cls:/user/0.user/2.session
7:freezer:/user/0.user/2.session
6:devices:/user/0.user/2.session
5:memory:/user/0.user/2.session
4:blkio:/user/0.user/2.session
3:cpuacct:/user/0.user/2.session
2:cpu:/
1:cpuset:/
Предполагая, что вам не нужно такое поведение, вы можете использовать свою пользовательскую контрольную группу с редактированием контроллера памяти /etc /systemd/logind.conf
и удаление memory
из строки Controllers
.
У меня была аналогичная проблема (на Fedora 29, хотя ):мне казалось, что мою /etc/cgconfig.conf
полностью игнорировали. Бег
sudo systemctl enable cgconfig
и перезагрузка решила проблему.