일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- gdb tip
- 리눅스
- core file
- vcore
- 다수 클라이언트
- linux
- C
- Listen
- 디버깅
- vi
- spacse
- 괌
- 괌여행
- thread pid
- 옛날 탕수육
- 인천
- 인화여고
- 칼국수
- xshell4
- 노트북 정보
- whatis
- IPv6
- hostkeyalgorithms
- 노트북 배터리 교체
- ubuntu22.04
- 출력
- ubuntu
- 껍질없는
- kdumo
- host key
- Today
- Total
목록리눅스 (4)
극히 개인적이고 극히 대단하지 않은
Multithread program을 작성하고 버그를 잡다보면 thread의 pid를 알아야 간지러운 곳이 해결되는 경우가 있다. 특히 gdb를 이용해서 디버깅을 하는 경우에 아쉬울 때가 많다. 그런 경우에는 thread 내부에서 다음과 같은 코드를 수행하면 자신 thread의 pid를 알 수 있다. syscall(__NR_gettid) 예를 들어 다음과 같이 코딩을 하면 thread 이름과 pid를 확보할 수 있다. #include #include #include void *sample_thread (void *arg) { ... printf ("Thread Information :: [%s][%d]\n", __func__, syscall(__NR_gettid)); ... pthread_exit (NU..
dmidecode help 여기서 -t 옵션에 대한 내용만 정리한다. dmidecode에서 관리하는 device type은 아래와 같이 정의되어 있다. -t 옵션과 함께 위의 device type을 지정하면 상당히 유용한 정보들을 획득할 수 있다. dmidecode 명령과 grep, awk 등과 같은 명령을 파이프로 묶으면 매우 편리하게 원하는 값을 프로그램에서 활용할 수 있다. 예제) 시스템에 설치된 메모리 뱅크와 메모리 실장상태 dmidecode -t 17 | grep Size 시스템에 4개의 메모리 뱅크가 있고, 첫번째 뱅크에 8GB 메모리 모듈이 설치되어 있음. 예제) CPU 정보확인 dmidecode -t 4 | grep Version
1. IPv6 주소 생성하기 생성 /sbin/ip -6 addr add / dev 삭제 /sbin/ip -6 addr del / dev 2. IPv6 주소가 잘리지 않게 netstat 확인 /bin/netstat -ant /bin/netstat -ant -T ubuntu에서는 -T 옵션이 없어졌다. 대신 -W 옵션을 사용하면 동일한 결과를 얻을 수 있다.
일반적으로 시각정보를 얻기위해 gettimeofday, time, localtime 등의 함수를 많이 쓰게 되는데, 이 함수들은 기본적으로 과거의 특정시점(1970년 1월1일 0시)을 기준으로 시간 값을 얻어오기 때문에, 두 시점의 시간 간격을 측정하여 동작을 하는 프로그램에 있어서 시각이 변경되면 절대적 시간 간격을 측정할 수가 없게되고 이로 인하여 원하지 않는 오류가 발생할 수 있다. 예를 들어 사용자의 사용시간에 따라 과금을 하는 프로그램이 있는데, 사용자는 1시간을 사용을 했지만, 사용시간 중에 시각을 30분 앞으로 당겼다면, 이 사용자는 30분만 사용한 것으로 과금이 될 것이다. 이런 오류를 극복하기 위하여 clock_gettime 함수를 사용하면 된다. clock_gettime의 prototy..