본문 바로가기

개발자/Linux 리눅스

리눅스 쉽고 간단한 다중 Thread 프로그램 with 라즈베리파이 리눅스 쉽고 간단한 다중 Thread 프로그램 1 with 라즈베리파이 Thread의 장 단점이 중요한 게 아니라 굉장히 많이 사용한다. 사실 Thread를 사용하지 않는 프로그램은 거의 없다. 작업을 동시에 실행한다는게 얼마나 멋진 일인가? 일단 가장 단순한 다중 Thread 프로그램을 보자. 근데 책의 예제라 그런지 무지하게 복잡하고, 어렵게 보인다. 으~ 이런거 정말 싫은데. 그냥 설명만 하고 쉬운건 아래에 있다. 여러가지 소스코드를 참고하자. 12345678910111213141516171819202122232425262728293031323334353637#include #include #include #include #include void *thread_function(void *arg); ..
자주 가끔 많이 항상 사용하는 리눅스 명령어 모음 자주 사용하는 리눅스 명령어 모음 생활코딩에서 모두에게 제공하는 리눅스 수업은 다음 링크로 배울 수 있다. 꼭 배워두시길 부탁드린다. ㅎㅎ https://opentutorials.org/course/2598 1. 리눅스 시스템 종료 방법shutdown -h nowhaltinit 0- shutdown 명령어shutdown -h +10 (10분후 종료, h:halt)shutdown -r 22:00 (오후 10시에 재부팅, r:reboot)shutdown -c (예약된 shutdown 명령 취소)shutdown -k now (종료 메시지는 보이나 종료 안됨)2. 재부팅shutdown -r nowrebootinit 63. 로그아웃logoutexit- init명령어(런레벨, Runlevel)0번 : 종료모드1번 ..
리눅스 signal 을 타이머 알람으로 사용하기 Linux signal use Timer Alarm 디바이스 드라이버를 이용해서 CPU의 내장 타이머들을 이용해서 직접적으로 제어를 해도 되지만, 대략 1초 이상의 초단위 타이머를 사용하고자 한다면 심플하게 signal 함수를 이용해서 초단위의 타이머를 구현할 수 있다. 아주 작은 순간 타이머 구현하느 방법은 아래 포스팅을 참고한다. signal 중에서 SIGALRM 이 있는데 이 signal은 alarm 함수가 보내는 signal 이다. 이 alarm을 주기적으로 발생하고 signal을 처리 하면 리눅스에서도 타이머를 사용할 수 있다. 소스코드다. 12345678910111213141516171819202122232425262728293031#include #include #include #define INTERVAL 1 //단위가 초(sec)이다. v..
리눅스 타이머 사용할 때 undefined reference to `timer_create' 에러 발생 리눅스 타이머 시용할때 다음과 같은 에러 생기면 뒤에 뒤에 라이브러리 포함 -lrt 넣어줘야 함. 123456pi@raspberrypi:~/timertest $ gcc -o multitimer multitimer.c/tmp/ccgVf2H0.o: In function `makeTimer':multitimer.c:(.text+0x13c): undefined reference to `timer_create'multitimer.c:(.text+0x18c): undefined reference to `timer_settime'collect2: error: ld returned 1 exit status Colored by Color Scriptercs 이렇게 에러가 나면 컴파일 옵션 뒤에 -lrt 붙혀준다. pi@..
리눅스 설치 패키지나 라이브러리 목록 확인 현재 리눅스에 이미 설치된 패키지나 라이브러리를 확인하는 명령이다. $dpkg --get-selections 아래는 실행 화면을 나타낸다. 엄청 많군. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401..