이 문제를 해결하려면https://unix.stackexchange.com/a/446428/674, 나는 팔로우한다https://stackoverflow.com/a/17483998/156458, 그러나 코어 파일 제한 크기를 설정하지 않습니까?
$ sudo sh -c "ulimit -c 1024 && exec su t"
$ ulimit -c
0
이 접근 방식은 현재 셸의 코어 파일 제한 크기를 일시적으로 변경합니까, 아니면 모든 사용자 또는 현재 사용자의 모든 셸에 대한 코어 파일 제한 크기를 영구적으로 변경합니까?
고쳐 쓰다:원본 게시물https://stackoverflow.com/a/17483998/156458그리고https://unix.stackexchange.com/a/238413/674그리고https://unix.stackexchange.com/a/169035/674모두 권장됩니다
sudo sh -c "ulimit -c 1024 && exec su $LOGNAME"
. 그러나 둘 다 생성된 쉘ulimit -c 1024
에만 영향을 미치 므로 이 명령의 목적은 무엇입니까? 또한 변경된 제한 사항을 활용하는 것도 의미가 없습니다.exec su $LOGNAME"
sudo
exec su $LOGNAME"
노트:이 문제를 해결하는 다른 방법이 있지만 내 초점은 위의 방법이 작동하지 않는 이유에 있습니다.
sudo가 실행하는 쉘에 새로운 제한 값을 사용하여 명령을 넣어야 할까요?
예를 들어
$ sudo sh -c "ulimit -c 1024 && sleep 100" ^\Quit $ ls core
- 나는 또한 그것을 수정하려고 노력할 수도 있습니다
/etc/security/limits.conf
.
ベストアンサー1
맨페이지에 따르면 ulimit
"셸에서 사용할 수 있는 리소스와 시작되는 프로세스에 대한 제어를 제공합니다." 따라서 이 ulimit
값은 현재 쉘에 유효합니다.
서브셸을 호출 ulimit
중이며 종료되면 기본값으로 돌아갑니다 ulimit
.
[root@centos7 ~]# ulimit -c
0
[root@centos7 ~]# ulimit -c 1024
[root@centos7 ~]# ulimit -c
1024