DB 마이그레이션 중 에러발생.

 

쿼리문 변경해주면된다.

vi xxxx.sql
:%s/\(X'[^,\)]*'\)/CONVERT(\1 using utf8mb4)/g

 

https://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/fork/daemon.cpp

 

doc/html/boost_asio/example/fork/daemon.cpp - 1.47.0

 

www.boost.org

boost asio 로 서버를 개발하고 , daemon 으로 띄우려고 코드를 입혔다

 

다시 빌드를 하고나니 잘 돌아가던 서버가 deadlock 걸린것 처럼 수행이 되질 않는다.

 

sudo gdb -p <프로세스ID> 

info thread

 

로 확인하니

 

pthread_cond_wait 에서 대기중이다.

 

결론은....

 

daemon을 만드려고 프로세스를 fork하고 부모는 exit하는 과정에서

전역변수 공유가 되질 않아서 발생한 문제였다.

 

 

php로 exec 실행하면 잘되는데,

apache 로 세팅해서 rest 로 호출하면 exec가 실행이 되지 않는다.


권한문제로,

apache로 실행되면 user가 다르기 때문


php 소스상에

echo system('whoami');


라고 코드를 넣어보면 수행하는 유저를 알 수가 있다.


그 유저에게 권한을 부여해주면됨


sudo nano /etc/sudoers


www-data       ALL=(ALL) NOPASSWD:ALL


이라고 추가하면 완료

+ Recent posts