2018年5月23日 星期三

[工作] 讓Android關機的幾種command

1. reboot -p
2. svc power shutdown
3. setprop sys.powerctl shutdown
4. am start -n android/com.android.internal.app.ShutdownActivity

2018年5月22日 星期二

[工作] 使用sed將文件多行合併成一行

這邊利用sed來將文件多行內容合併成一行.

ex.
cat test
1
2
3
4
5

sed 'N; s/\n//g' test
12
34
5
N就是把下一行也抓進來一起處理的意思

sed ':a; N; s/\n//g; t a;' test
12345
設一個a標的, 然後處理完就用t跳回a標的繼續處理

下面stackoverflow的解答講的滿詳細的.
https://stackoverflow.com/questions/6255796/how-the-n-command-works-in-sed?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa


[工作] Dynamic Debug用法

在開發跟debug的過程中,
常會看到debug message寫成pr_debug, dev_dbg,
因為priority較低.
在一般debug log裡面通常不會顯示.

在比較新一點的kernel可以用dynamic debug的方式開啟這些debug message,
如果你要看的log在xxx.c裡面:
echo "file xxx.c +p" > /sys/kernel/debug/dynamic_debug/control

這樣在xxx.c裡面pr_debug/dev_dbg都會顯示出來了.

如果只想看xxx.c裡面第100行的log:
echo "file xxx.c line 100 +p" > /sys/kernel/debug/dynamic_debug/control

就只會顯示那一行.