일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- PYTHON
- single cell
- single cell analysis
- Batch effect
- DataFrame
- julia
- cellranger
- CUTandRUN
- 싱글셀 분석
- github
- js
- matplotlib
- javascript
- Bioinformatics
- scRNAseq analysis
- CUT&RUN
- single cell rnaseq
- ngs
- python matplotlib
- EdgeR
- pandas
- 비타민 C
- HTML
- drug muggers
- CSS
- scRNAseq
- MACS2
- ChIPseq
- Git
- drug development
Archives
- Today
- Total
바이오 대표
[Screen] Screen session 이용하기 본문
screen
서버를 사용해서 코드를 돌릴때, 내가 연결해논 서버연결이 시간이 오버했거나 창을 실수로 껏다가 서버에서 끊기는 경우가 생긴다. Cashed 가 되있어서 멈춘곳에서부터 코드를 실행하면 정말 좋지만 그렇지 못한 경우에는 처음부터 다시 돌려야 한다. 이를 방지하기 위해서 “screen”을 활용 할 수 있다.
- 생성: screen -S <session_name>
- 확인: screen -ls
- 다시 불러오기: screen -r <session_id>
- 종료: screen -XS <session-id> kill
Linux GNU Screen
요새는 보통 linux를 깔면 pre-installed되어있다. 다음 코드를 이용해서 확인해볼 수 있다.
$ screen --version
##Screen version 4.01.00devel (GNU) 22-May-06
만약에 깔려있지 않을 경우 apt/yum을 이용해 설치 가능하다.
# Ubuntu/Debian
$ apt update
$ apt install screen
#CentOS/Fedora
$ yum install screen
Session 생성 및 확인
# screen 생성
$ screen -S <session_name>
# session 뭐열려있나 확인 (screen 안/밖에서 다 가능하다.)
$ session -ls
##There are screens on:
## 25064.test (Detached) # 창이 꺼졌을 때
## 4516.extracteye (Attached)
##2 Sockets in /var/run/screen/S-ybae
해당 예시에서 ‘26064’, ‘4516’ 이 각 session 의 id 이다.
Reattach or Detach
# Reattach: 다시 Screen session 으로 들어가기
$ screen -r <session-id>
# Detach:원래 linux 환경으로 돌아가기
$ exit
$ screen -d <session-id>
# 혹은 Mac에서는 control(^) + d : screen 이 아예 삭제된다.
이때, 다시 들어가고 싶은 session 은 detached 상태여야 한다. 만약에 다른 창 어딘가에 attached 되있어서 지금 일하고 있는 창에서 screen -r 을 할 수 없다면, screen -d <session-id> 를 이용해서 detach 한 후에 원하는 곳에서 다시 screen -r 해줄 수 있다.
Kill/Close a session
# 특정 session 죽이기
$ screen -XS <session-id> quit
$ screen -XS <session-id> kill
# 모든 session 죽이기
$ pkill screen # 하지만 열려있거나 실행되고있는 모든것을 종료함으로 주의해야한다.
## 정석 ##
# detached screens 들 죽이기
$ screen -ls | grep detached | cut -d. -f1 | awk '{print $1}' | xargs kill
# 모든 screens 죽이기
$ screen -ls | grep pts | cut -d. -f1 | awk '{print $1}' | xargs kill
'Programming enviorment' 카테고리의 다른 글
[ SSH ] 내 IP 주소 확인하기 (ifconfig), 서버 연결하기 (ssh), 서버에서 파일 복사하기(scp) (1) | 2023.04.07 |
---|---|
[ Jupyter Lab ] Jupyter 환경에서 IOPub data rate exceeded 해결방법 (0) | 2022.03.04 |
[ Jupyter Lab ] Module (function) 불러오기 - nbimporter (0) | 2022.02.04 |
[ Jupyter Lab ] 단축키 (for mac) (0) | 2022.01.12 |
[Github] 전체적인 process 예시 (0) | 2022.01.09 |