본문 바로가기
[android] App 이 kill 되면 Alarm 이나 Job 은 어떻게 될끼? https://github.com/evernote/android-job/wiki/FAQ#what-happens-with-jobs-after-the-app-was-forced-killed -앱이 recent app list 등에서 swipe 를 통해 force kill 당하면, 안드로이드는 AlarmManager 에 등록되어 있는 Pending alarm 들을 모두 clear 시켜버린다.그래서 앱이 다시 launch 할 때 또는 boot_complete 등의 broadcast 를 받아서 새로 job 을 등록해줘야 한다. JobScheduler 나 GcmNetworkManager 등에 등록된 Job 들은 force kill 에 영향을 받지 않는다. -필자의 경험에 의한 확인 결과, 앱 설정(Applicati.. 2020. 7. 26.
[android] Recent app 에서 swipe 로 app 을 죽이면 process kill 이 될까? -Recent app 에서 app 을 swipe 해서 kill 시켰을 때 동작에 대한 공식 doc 은 발견하지 못했다.doc 으로 명시하기에는 조건이 너무 까다롭거나, 혹은 유연하게 변경하기 위함이라고 추정된다. -그래서 구글링을 해보았다.대부분의 결론은 이렇다.Recent app 에서 app kill 시키는 것은 process kill 과 다르다.Activity stack 을 모두 날려버리는 것으로 생각하는 것이 좋다.음악 서비스가 돌고 있을 때 Recent app 에서 swipe 로 죽인다고 음악이 멈추지는 않는걸 생각해봐라. -그런가보다... 하고 실제 테스트를 해보았다.일단 bg service 같은 거 없이 그냥 "Hello World!" 를 표시하는 Activity 를 하나 띄워놓고, recen.. 2020. 7. 25.
[android] JobScheduler dumpsys log 분석해보자 -이 명령을 통해 dumpsys 중에 jobscheduler 에 대한 정보들만 발췌해 볼 수 있다.$ adb shell dumpsys jobscheduler -그 중에서 내가 등록한 Job 에 대해 한번 보자.JOB #u0a241/2: b002751 com.cklee.test/.scheduler.MyJobService u0a241 tag=*job*/com.cklee.test/.scheduler.MyJobService Source: uid=u0a241 user=0 pkg=com.cklee.test JobInfo: Service: com.cklee.test/.scheduler.MyJobService Requires: charging=false batteryNotLow=false deviceIdle=false.. 2020. 7. 24.
[책 정리] 09.소프트웨어 설치하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 패키지 관리 기초 -리눅스 배포판은 각 소프트웨어 앱 및 라이브러리 설치를 제어할 수 있는 몇 가지 유형의 패키지 관리 시스템(PMS)을 사용한다.PMS 는 이러한 항목들을 추적하기 위해 DB 를 사용한다. 리눅스 시스템에 어떤 소프트웨어 패키지가 설치되어 있는가? 각 패키지마다 어떤 파일이 설치되어 있는가? 설치된 소프트웨어 패키지 버전은 각각 얼마인가? 소프트웨어 패키지는 저장소(레포지토리)라는 서버에 저장되고 인터넷으로 내 리눅스 시스템에서 구동되는 PMS 유틸을 통해 저장소에 접근할 수 있다.새로운 소프트웨어 패키지 또는 이미 시스템에 설치된 소프트웨어 업데이트를 검색하기 위해 PMS 유틸을 사용할 수 있다. PMS 는 의존성을 감지하고 원하는 패키지를 설치하기 전에 추가로 필요한 소프트웨어 패키.. 2020. 4. 29.
[책 정리] 08-2. 파일 시스템 관리하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 논리 볼륨 관리하기 -파티션 확장은 같은 실제 하드 드라이브에 사용 가능한 공간의 범위까지로 제한된다.하드 드라이브에 더 이상 사용할 수 있는 공간이 없다면 더 큰 하드 드라이브를 구해서 수동으로 새 드라이브에 기존의 파일시스템을 옮겨야 한다.이보다 편리한 방법은 다른 하드 드라이브 파티션을 기존의 파일시스템에 추가함으로서 기존의 파일시스템에 동적으로 더 많은 공간을 추가하는 방법이다.리눅스 논리 볼륨 관리자(Linux Logical Volume Manager, LVM) 소프트웨어 패키지가 이런 일을 할 수 있다.LVM 은 전체 파일 시스템을 재구축할 필요 없이 리눅스 시스템의 디스크 공간을 조작할 수 있는 쉬운 방법을 제공한다. * 논리 볼륨 관리 레이아웃 살펴보기 -여러 PV(Physical volu.. 2020. 4. 28.
[책 정리] 08-1. 파일 시스템 관리하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 리눅스 파일시스템 살펴보기 * 기본적인 리눅스 파일시스템 이해하기 ** 파일 시스템 살펴보기 -리눅스 운영체제와 함께 도입된 원래의 파일시스템은 확장 파일시스템(extended filesystem, ext)라고 한다.이 시스템은 물리적 장치를 다루기 위해 가상 디렉토리를 사용하고, 물리적 장치에 고정 길이의 블록을 이용해서 데이터를 저장하는 유닉스와 비슷한 파일시스템이다.ext 파일시스템은 가상 디렉토리에 저장되어 있는 파일에 대한 정보를 추적하기 위해 아이노드(inode)라는 시스템을 사용한다.아이노드 시스템은 각각의 물리적 장치마다 파일 정보를 저장하기 위해 아이노드 테이블이라는 것을 만든다가상 디렉토리에 저장되는 각 파일은 아이노드 테이블에 항목을 가진다. ext 의 extended 는 다음의 항목.. 2020. 4. 27.
[책 정리] 07. 리눅스 파일 사용 권한 이해하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 리눅스 보안 -리눅스 보안 시스템의 핵심은 사용자 계정이다.리눅스 시스템에 접속하는 개별 사용자는 각자 고유한 사용자 계정이 있어야 한다.시스템에 있는 개체에 대한 사용자의 권한은 로그인한 사용자 계정에 따라 달라진다. 사용자 권한은 계정이 만들어질 때 할당되는 사용자 ID 인 UID 로 추적된다.리눅스 시스템은 시스템의 사용자 계정을 추적하고 관리하기 위한 특수한 파일 및 유틸을 사용한다. * /etc/passwd 파일 -리눅스 시스템은 로그인 이름과 그에 해당하는 UID 값을 찾기 위해 특별한 파일을 이용한다.이 파일은 /etc/passwd 파일이다.여기에는 사용자에 대한 여러 정보가 포함되어 있다. -root 사용자 계정은 리눅스 시스템의 관리자이며 항상 UID 0 이 할당된다.리눅스 시스템은 실제.. 2020. 4. 26.
[책 정리] 06. 리눅스 환경 변수 사용하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 환경 변수 살펴보기 -bash 쉘은 쉘 세션과 작업 환경에 대한 정보를 저장하기 위해 환경변수라는 기능을 사용한다.이 기능으로 메모리에 데이터를 저장할 수 있으므로 쉘에서 실행 중인 모든 프로그램이나 스크립트가 쉽게 사용할 수 있다.이는 필요한 데이터를 영구히 저장하는 편리한 방법이기도 하다. bash 쉘에는 두 가지 환경 변수의 유형이 있다.1. 전역 변수2. 지역 변수 * 전역 환경 변수 살펴보기 -전역 환경 변수는 쉘 세션 및 그로부터 파생된 자식 서브쉘에서 볼 수 있다.지역 변수는 이를 만든 쉘에서만 사용할 수 있다.따라서 부모 쉘의 정보가 필요한 자식 서브쉘을 만드는 응용 프로그램에는 전역 환경 변수가 유용하다. -리눅스 시스템은 bash 세션을 시작할 때 여러 가지 전역 환경 변수를 설정한다... 2020. 4. 25.
[책 정리] 05. 쉘을 이해하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 쉘의 유형 알아보기 -시스템이 실행시키는 쉘 프로그램은 사용자 ID 구성에 따라 달라진다./etc/passwd 파일 안에는 사용자 ID 마다 일곱 번째 필드에 어떤 기본 쉘 프로그램을 실행시킬 것인지가 나와 있다.기본 쉘 프로그램은 사용자가 가상 콘솔 터미널에 로그인하거나 GUI 터미널 에뮬레이터를 시작할 때마다 실행된다. 기본인 bash 쉘은 물론 CentOS 의 tcsh, 데비안의 dash 등도 있다.그러나 bash 쉘이 인기가 좋아 다른 쉘을 기본 쉘로 사용하는 사람들이 그리 많지는 않다. -기본 시스템 쉘은 또 다른 쉘인 /bin/sh 이다.시스템 시동과 같은 때에 필요한 시스템 쉘 스크립트에 기본 시스템 쉘이 사용된다./bin/sh 이 bash 를 소프트링크(심볼릭 링크) 하는 경우도 있다. 부.. 2020. 4. 24.
반응형