프로그래밍 QnA + 설치 및 활용 QnA

익명 사용자의 이미지

리눅스 상에서 Process = Thread 라고 봐도 상관 없나요?

별도의 스레드를 생성 후 스레드에서 fork 후 exec으로 넘겨줘도 메인 프로세스(스레드)는 죽지 않더군요...

그러면 (프로세스 = 스레드)이다 라고 봐도 부방할 것 같은데 내부적으로 무슨 차이가 있나요?

스레드도 pid 값을 부여 받는다고 하던데... 그럼 완전 Process = Thread 아닙니까!!?

삼구의신의 이미지

timer와 일정주기로 드는 thread 비교

일반적으로 timer를 검색하면 나오는 signal handler를 이용해 설정한 interval 마다
signal을 발생시키고 handler에 등록된 동작하도록하는 타이머와.
쓰레드에서 usleep과 같은 것을 넣어 일정 주기마다 쓰레드가 돌도록 동작하느것 둘이 어느 차이가 있나요?

timer code

익명 사용자의 이미지

솔라리스에서 싱글스레드로 멀티프로세싱할때 문제가 발생합니다..

안녕하세요 CPU 퍼포먼스 관련해서 도움을 받고자 합니다...

마이그레이션을 진행하는데(로컬간) 총 유저 2800 명을 100명 단위로 나눈뒤 한 프로세스로 잡고

가상서버 2대(Solaris 10 spracv9 - T4) 에 각각 14개씩 돌리는 방식입니다.

두대의 솔라리스 서버는 한대의 리눅스 DB서버(mysql)를 바라보고있습니다.

프로세스는 로컬내 유저의 sqlite 를 한번 질의 후 File과 함께 DB정보를 mysql로 마이그레이션 하는 로직입니다.

(DB,File 스토리지는 NFS 에 마운트되어있습니다.)

문제는 OS 재부팅 후 발생했는데...

문제가 발생하기 전까지는 mysql에 초당 4000~5000개의 쿼리를 요청하여 처리하였으나

문제가 발생 후에는 초당 100개도 요청하지 못하고있습니다.

cpu 모니터링을 좀 해 본 결과...

prstat -mL 로 확인하면 12개의 모든 해당 프로세스의 LCK 비율이 100% 인걸 확인하였으며

익명 사용자의 이미지

/media 에 마운트된 하드에 기본 퍼미션을 777에서 644로 바꾸기.

제목에 간략히 설명하기가 쉽지 않네요.

현재 하드가 크게 3개로 분할되어었습니다. 하나는 윈도우즈, 하나는 우분투, 그리고 나머지 하나는 데이터로 윈도우즈 우분투 공유해서 사용 중입니다.

그런데 그 데어터에 있는 모든 파일의 퍼미션이 777입니다. 바꾸려고 해도 바뀌지도 않고.

이 문제는 외장 하드를 마운트해서 사용할 때도 발생합니다.

저는 기본적으로 644로 하고 필요한 파일만 755정도로 하고 싶은데 말이지요.

기본 퍼미션을 어떻게 변경할 수 있나요?

삼구의신의 이미지

thread에서 prinf를 출력하다가 deadlock 상태가 발생할 수 있나요?

5개의 thread가 돌면서 printf 를 찍고있습니다.
그러전중 10분~1시간 사이에 무작위로 thread가 모두 lock 상태에 걸리는데요..
아래 gdb를 통해 thread stack 로그입니다..
vprintf 다음에 lock 걸린걸 볼수 있는데요? 어떻게 해결해야하나요?

Thread 6 (Thread 1085351040 (LWP 525)):
#0 0x4002cbbc in pthread_join () from /lib/libpthread.so.0
#1 0x00023744 in Thread::join (this=0xdd718) at src/interface/Thread.cpp:23
#2 0x0000c358 in MuMain::run (this=0xbef33cbc) at src/MuMain.cpp:30
#3 0x000236bc in Thread::run_ (pthis_=0x0) at src/interface/Thread.cpp:11
#4 0x00000000 in ?? ()

semjase의 이미지

python 예제중에 이상한 if문?

아래의 코드는 인터넷에 무료로 공개되어있는 파이썬강좌 예제 입니다.
for문 바로 위에 있는
multiple = 1024 if a_kilobyte_is_1024_bytes else 1000
이게 뭔가요? 이런 if문은 처음보는데요

ljs0652의 이미지

소스 코드로 강제로 UAC 접근 하게 할 수 있을까요?

제가 작업중인게 있는데

에이전트 내에서 DLL 호출하는 부분이 있습니다

제가 DLL을 만들었는데

DLL 기능중에 클립보드에서 파일 목록을 받아와야 하는데

클립보드 접근이 안되네요

이걸 소스코드로 접근 방법이 있을까요?

yungyuhyun54의 이미지

리눅스에서 chmod 명렁어를 c언어로 구현중입니다.

리눅스에서 chmod 명렁어를 c언어로 구현중입니다.

-v옵션을 구현하고있는데,

변경할 파일을 open으로 열어서 파일디스크립터 fd에 넣고
fstat 함수로 파일디스크립터와 stat구조체 주소를 넣고
변경전의 st_mode를 받아와서 출력해주고
변경후의 st_mode를 받아와서 출력해주는 소스입니다.

그런데 첫번째 파일이 자꾸 고정된 값으로 출력이 됩니다.
파일을 여러개 넣으면 첫번째 파일만 비정상출력, 나머지는 정상적으로 출력됩니다.

여러개 넣은 파일의 순서를 바꿔도 첫번째 파일만 비정상출력됩니다.
(이미지 - 오류1.png)

오류1 그림에서 8진수 100755의 100은 일반파일이고
20620의 20은 문자 장치라는데 이 부분이랑 관련이 있는지 궁금합니다.

chmod-v.png는 해당 부분 소스입니다.
perm.png는 권한을 출력해주는 perm함수 부분의 소스입니다.
이유를 도저히 모르겠어서 질문드립니다.

ljs0652의 이미지

UAC와 CF_HDROP가 관계가 있을까요??

탐색기 프로그램 만드는데

드래그앤 드랍이 안돼서 찾아보니 uac 관련 문제였고,
ChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ADD);
ChangeWindowMessageFilter(WM_COPYDATA, MSGFLT_ADD);
ChangeWindowMessageFilter(0x0049, MSGFLT_ADD);

이걸 넣어주니까 해결이 됐는데

파일 / 폴더 붙여넣기, 이동하기가 문제가 되네요

::IsClipboardFormatAvailable(CF_HDROP) 이 부분이 문제가 되는데

윈도우에서 복사를 하면 무조건 클립보드에 들어갈테고, 저걸 못 불러오는거 같은데

uac 문제 때문일까요? 혹시 방법ㅇ ㅏ시는분 계시면 도움좀 부탁드립니다

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기