리눅스/커널2013. 7. 25. 09:19

 

Kernel oops시에 나오는 taint 종류는 다음과 같다.(kernel/panic.c)

 

187 static const struct tnt tnts[] = {
188         { TAINT_PROPRIETARY_MODULE,        'P', 'G' },
189         { TAINT_FORCED_MODULE,                 'F', ' ' },
190         { TAINT_UNSAFE_SMP,                       'S', ' ' },
191         { TAINT_FORCED_RMMOD,                 'R', ' ' },
192         { TAINT_MACHINE_CHECK,                 'M', ' ' },
193         { TAINT_BAD_PAGE,                           'B', ' ' },
194         { TAINT_USER,                                  'U', ' ' },
195         { TAINT_DIE,                                     'D', ' ' },
196         { TAINT_OVERRIDDEN_ACPI_TABLE,   'A', ' ' },
197         { TAINT_WARN,                                 'W', ' ' },
198         { TAINT_CRAP,                                 'C', ' ' },
199         { TAINT_FIRMWARE_WORKAROUND,   'I', ' ' },
200         { TAINT_OOT_MODULE,                    'O', ' ' },
201 };

'리눅스 > 커널' 카테고리의 다른 글

[커널] FB 문서  (0) 2013.12.09
[안드로이드][커널]Unknown symbol _GLOBAL_OFFSET_TABLE_  (0) 2013.08.09
[OS] priority inversion 해결방법  (0) 2013.01.13
monolithic vs microkernel  (0) 2013.01.13
VFS(1) -구조체-  (0) 2012.12.08
Posted by code cat

오랜만에 쓰는 screen/byobu 글이다.

가끔 screen에서 여러개 창을 쓰다가 중간 걸 꺼버릴 때가 있다.


0@$bash 1@$bash 2@$bash 3@$bash 4@$bash 


저렇게 있음, 3번을 꺼 버릴 때가 있다. 그럼 


0@$bash 1@$bash 2@$bash 4@$bash 


0,1,2,4 이렇게 쓰는데, 먼가 좀 그렇다.

한동안 그려러니 하고 쓰다 맘먹고 찾아본 결과 숫자를 바꾸는 법을 알아냈다.


바꾸려는 윈도우(4번이겠지)에 가서

ctrl + a, :number 3

하면 4번 윈도우가 3번으로 바뀌어서,

0@$bash 1@$bash 2@$bash 3@$bash


로 바뀐다.


정식 방법은

ctrl + a, :number x


로 바꿀 숫자를 x에 넣으면 된다.


하하 속 시원하다.

Posted by code cat

os.path.basename(path)

 

>>>path="out/target/product/codecat/abc.txt"

>>>import os

>>>os.path.basename(path)

'abc.txt'

 

os.path.dirname(path)

 

>>>path="out/target/product/codecat/abc.txt"

>>>import os

>>>os.path.dirname(path)

'out/target/product/codecat'

'리눅스 > 스크립트/유틸' 카테고리의 다른 글

ubuntu에 설치된 패키지 리스트 보기  (0) 2013.07.25
[screen/byobu] 윈도우 숫자 바꾸기  (0) 2013.06.29
python, regular expression match  (0) 2013.04.28
python, tempfile.mkdtemp  (0) 2013.04.28
python, getopt  (0) 2013.04.21
Posted by code cat
re.match(pattern, string, flags=0)

If zero or more characters at the beginning of string match the regular expression pattern, return a corresponding MatchObject instance. Return None if the string does not match the pattern; note that this is different from a zero-length match.

Note that even in MULTILINE mode, re.match() will only match at the beginning of the string and not at the beginning of each line.

If you want to locate a match anywhere in string, use search() instead (see also search() vs. match()).


'리눅스 > 스크립트/유틸' 카테고리의 다른 글

[screen/byobu] 윈도우 숫자 바꾸기  (0) 2013.06.29
[파이썬] String 가지고 놀기  (0) 2013.06.04
python, tempfile.mkdtemp  (0) 2013.04.28
python, getopt  (0) 2013.04.21
python, pass statement  (0) 2013.04.17
Posted by code cat
출처:http://docs.python.org/2/library/tempfile.html

tempfile.mkdtemp([suffix=''[, prefix='tmp'[, dir=None]]])

Creates a temporary directory in the most secure manner possible. There are no race conditions in the directory’s creation. The directory is readable, writable, and searchable only by the creating user ID.

The user of mkdtemp() is responsible for deleting the temporary directory and its contents when done with it.

The prefix, suffix, and dir arguments are the same as for mkstemp().

mkdtemp() returns the absolute pathname of the new directory.

New in version 2.3.


tempfile.NamedTemporaryFile([mode='w+b'[, bufsize=-1[, suffix=''[, prefix='tmp'[, dir=None[, delete=True]]]]]])

This function operates exactly as TemporaryFile() does, except that the file is guaranteed to have a visible name in the file system (on Unix, the directory entry is not unlinked). That name can be retrieved from the name attribute of the file object. Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later). If delete is true (the default), the file is deleted as soon as it is closed.

The returned object is always a file-like object whose file attribute is the underlying true file object. This file-like object can be used in a with statement, just like a normal file.

New in version 2.3.

New in version 2.6: The delete parameter.


'리눅스 > 스크립트/유틸' 카테고리의 다른 글

[파이썬] String 가지고 놀기  (0) 2013.06.04
python, regular expression match  (0) 2013.04.28
python, getopt  (0) 2013.04.21
python, pass statement  (0) 2013.04.17
git 저장소 추가 시에 주의 할 점.  (0) 2013.03.24
Posted by code cat

getopt 는 c코딩에 익숙한 유저들을 위해 command line option을 parsing 하기 위해 지원하는 API이다.

정확히 sys.argv에 있는 argument들을 parsing하는데, unix conventions('-' , '--' 들의 차이점등) 들을 지원한다.

getopt는 아래의 두함수를 지원한다.


getopt.getopt(args, options[, long_options])

args = parsing 될 인자 리스트들이며, 실행 프로그램을 제외한다.  sys.argv[1:] 부터 시작되며, 즉 ota_from_target_files -x -d 일 경우, -x부터 시작한다는 말이다. 인자를 필요로 하는 옵션일 경우 : 이 붙는다.

long_options의 경우 '--' 는 옵션 이름에 포함되지 말아야 한다.  인자를 필요로 하는 경우, 인자는 '='뒤에 따라와야 한다.  long option만 받을라면, option 리스트가 비어야 있어야한다.

리턴 값은 두 종류이다.  첫번째는 (option, value)로 이루어진 리스트이며, 두번째는 option을 제외하고 남은 args들이다.  (option, value)의 첫번째 항목은 옵션이며, '-'를 prefix로 가지고 있다.  두번째 항목은 옵션에 해당하는 값이다.


getopt.gnu_getopt(args, options[, long_options])
getopt와 같으며, 대신 GNU style scanning을 지원한다.  즉 옵션 과 옵션이 아닌 인자들을 혼합해 사용 가능하다.


exception getopt.GetoptError알수 없는 옵션이거나, 인자가 필요한 옵션에 인자가 없을 경우 일어난다.   exception getopt.error
GetoptError 와 같으나, backward compatibility를 위해서 존재한다.

'리눅스 > 스크립트/유틸' 카테고리의 다른 글

python, regular expression match  (0) 2013.04.28
python, tempfile.mkdtemp  (0) 2013.04.28
python, pass statement  (0) 2013.04.17
git 저장소 추가 시에 주의 할 점.  (0) 2013.03.24
byobu detached 세션 죽이기  (0) 2013.03.13
Posted by code cat
http://docs.python.org/release/2.5.2/ref/pass.html

6.4 The pass statement

pass_stmt ::= "pass"
Download entire grammar as text.
pass is a null operation -- when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically, but no code needs to be executed, for example:

def f(arg): pass # a function that does nothing (yet)

class C: pass # a class with no methods (yet)

iPhone 에서 작성된 글입니다.
Posted by code cat

repo sync로 추가된 저장소를 받아와야 한다.(물론 repo안에 manifest에 새로운 git 저장소에 대한 정보를 추가해야 한다.)

그럼 잘 받아오는데, 문제는 받아온 소스를 수정해서 올릴라고 하니까 branch가 없다고 한다.(당연히 없겠지..)

이럴 땐 새로 받아온 git 저장소 내에서 repo start를 실행하여 branch를 넣어주면 된다.

 

'리눅스 > 스크립트/유틸' 카테고리의 다른 글

python, getopt  (0) 2013.04.21
python, pass statement  (0) 2013.04.17
byobu detached 세션 죽이기  (0) 2013.03.13
grep sed 를 이용해 여러 파일에 있는 문자 치환하기  (0) 2013.02.07
gnu make $(eval)  (0) 2012.11.13
Posted by code cat

screen -ls | grep "Detached" | awk '{print $1}' | xargs -i screen -X -S {} quit


Posted by code cat

여러 파일에 있는 특정문자를 다른 바꿀문자로 한번에 바꾸는 방법은 다음과 같다.


grep -rl "특정문자" * | xargs sed -i 's/특정문자/바꿀문자/g'


아 편하다...

Posted by code cat