리눅스에서 로그아웃 없이 그룹 소속 변경 적용
By 반달가면 | 2017년 11월 29일 |
리눅스에서 그룹(group) 소속을 변경했을 때, 변경 사항을 적용하기 위해서는 로그아웃 했다가 다시 로그인해야 한다(사용자 그룹의 생성/수정 등에 대한 기본적인 내용은 이전 게시물을 참고하자. 여기로). 그런데 예를 들어 작업중인 터미널창이 여러개 있는데 그룹을 변경하고 새로 터미널창을 열어서 뭔가 추가적으로 작업해야 하는 경우처럼, 당장 로그아웃하기 어려운 상황에서 변경 사항을 적용시켜 뭔가 작업을 하고 싶을 경우가 있을 수 있다. 이럴 때 su 명령이 상당히 요긴하다. su 명령으로 해당 터미널창에서 새로 로그인한 것과 같은 효과를 줄 수 있기 때문이다. 예를 들어 계정 john을 사용중인데 my_group이라는 그룹에 소속되도록 한 후에 이 그룹과 관련된 작업을 하는 경우를 생각해 보자.
Spinlock(스핀락) - 소개
By Guillermo Austin Kim | 2017년 12월 5일 |
스핀락. 리눅스 커널 책에서 언제나 볼 수 있는 개념이죠.싱크로나이제이션, 동기화, 어쩌구. 실제 Spinlock 구현부를 좀 살펴볼께요. 아래 코드를 전처리해서 코드를 보면,[kernel/fs/jbd2/commit.c]void jbd2_journal_commit_transaction(journal_t *journal) {//snip spin_lock(&commit_transaction->t_handle_lock); 아래 순서로 함수 콜이 수행되는 걸 알 수 있죠. 실제 스핀락 구현부는 arch_spin_lock() 함수라고 할 수 있어요. 우리 눈에 보이는 spin_lock()의 실체는 arch_spin_lock()군요.spin_lock() -> _raw_spin_lock()
팅커보드S/암비안 - CPU 온도, 메모리 점유 등 시스템 정보 확인
By 반달가면 | 2021년 5월 4일 |
암비안 버스터(Armbian Buster)에 ssh로 접속하여 로그인하면 CPU 온도 등 시스템 관련 정보를 표시해 주는데, 이 정보를 표시해 주는 스크립트가 실행되기 때문이다. 아래의 스크립트다. /etc/update-motd.d/30-armbian-sysinfo 시스템 부하(load), 운영 시간, 메모리 사용량, IP주소, CPU 온도, 루트(/) 파티션 사용량 등이 표시된다. 경로가 복잡하기 때문에 홈 디렉토리에 위의 스크립트를 실행하는 스크립트(sysinfo.sh)를 하나 만들어 두었다. cat ~/sysinfo.sh bash /etc/update-motd.d/30-armbian-sysinfo
[Kernel] 슬랩 페이지(slab page)가 관리하는 슬랩 오브젝트 갯수
By Guillermo Austin Kim | 2018년 4월 25일 |
슬랩 페이지 디스크립터가 관리하는 슬랩 오브젝트의 실제 메모리 덤프를 어떻게 접근할까요? 예를 들어 현재 페이지 디스크립터 주소가 0xEC778540 이라고 가정하겠습니다.그리고 각 멤버는 다음과 같구요. 눈으로 잠깐 봐도 kmalloc-64 타입의 슬랩 페이지임을 알 수 있겠죠. (struct page *) (struct page*)0xEC778540 = 0xEC778540 -> ( (long unsigned int) flags = 0x80, (struct address_space *) mapping = 0x0, (void *) s_mem = 0x0, (long unsigned int) index = 0xC518EC00, (void *) freelist = 0xC518E