VxWorks Basic Command (VxWorks 기본 명령어)

below are the commands u can execute and also more u can play

windsh [windsh]
NAME
windsh [windsh] - The Tornado Shell 

ROUTINES

agentModeShow( ) - show the agent mode (*) (WindSh)
b( ) - set or display breakpoints (WindSh)
bd( ) - delete a breakpoint (WindSh)
bdall( ) - delete all breakpoints (WindSh)
bh( ) - set a hardware breakpoint (WindSh)
bootChange( ) - change the boot line (WindSh)
browse( ) - send a message to the browser asking it to browse an
address (*) (WindSh)
c( ) - continue from a breakpoint (WindSh)
cd( ) - change the default directory (WindSh) 
checkStack( ) - print a summary of each task's stack usage (WindSh)
classShow( ) - show information about a class of objects (*) (WindSh)
cplusCtors( ) - call static constructors (C++) (WindSh)
cplusDtors( ) - call static destructors (C++) (WindSh)
cplusStratShow( ) - show C++ static constructors calling strategy (*) (WindSh)
cplusXtorSet( ) - change C++ static constructor calling strategy (C++) (WindSh)
cret( ) - continue until the current subroutine returns (WindSh)
d( ) - display memory (WindSh)
devs( ) - list all system-known devices (WindSh)
h( ) - display or set the size of shell history (WindSh)
help( ) - print a synopsis of selected routines (WindSh)
hostShow( ) - display the host table (WindSh)
i( ) - print a summary of each task's TCB, task by task (WindSh)
iStrict( ) - print a summary of all task TCBs, as an atomic snapshot (*) (WindSh)
icmpstatShow( ) - display statistics for ICMP (WindSh)
ifShow( ) - display the attached network interfaces (WindSh)
inetstatShow( ) - display all active connections for Internet protocol sockets (WindSh)
intVecShow( ) - display the interrupt vector table (WindSh)
iosDevShow( ) - display the list of devices in the system (WindSh)
iosDrvShow( ) - display a list of system drivers (WindSh)
iosFdShow( ) - display a list of file descriptor names in the system (WindSh)
ipstatShow( ) - display IP statistics (WindSh)
l( ) - disassemble and display a specified number of instructions (WindSh)
ld( ) - load an object module into memory (WindSh)
lkAddr( ) - list symbols whose values are near a specified value (WindSh)
lkup( ) - list symbols (WindSh)
ls( ) - list the contents of a directory (WindSh)
m( ) - modify memory (WindSh)
memPartShow( ) - show partition blocks and statistics (WindSh)
memShow( ) - show system memory partition blocks and statistics (WindSh)
moduleIdFigure( ) - figure out module ID, given name or number (*) (WindSh)
moduleShow( ) - show the current status for all the loaded modules (WindSh)
mqPxShow( ) - show information about a POSIX message queue (*) (WindSh)
mRegs( ) - modify registers (WindSh)
msgQShow( ) - show information about a message queue (WindSh)
period( ) - spawn a task to call a function periodically (WindSh)
printErrno( ) - print the definition of a specified error status value (WindSh)
printLogo( ) - display the Tornado logo (WindSh)
pwd( ) - display the current default directory (WindSh)
quit( ) - shut down WindSh (*) (WindSh)
reboot( ) - reset network devices and transfer control to boot ROMs (WindSh)
repeat( ) - spawn a task to call a function repeatedly (WindSh)
routestatShow( ) - display routing statistics (WindSh)
s( ) - single-step a task (WindSh)
semPxShow( ) - show information about a POSIX semaphore (*) (WindSh)
semShow( ) - show information about a semaphore (WindSh)
shellHistory( ) - display or set the size of shell history (WindSh)
shellPromptSet( ) - change the shell prompt (WindSh)
show( ) - display information on a specified object (WindSh)
smMemPartShow( ) - show user's shared memory system partition blocks and statistics (*) (WindSh)
smMemShow( ) - show the shared memory system partition blocks and statistics (WindSh)
so( ) - single-step, but step over a subroutine (WindSh)
sp( ) - spawn a task with default parameters (WindSh)
sps( ) - spawn a task with default parameters, and leave it suspended (*) (WindSh)
sysResume( ) - reset the agent to tasking mode (*) (WindSh)
sysStatusShow( ) - show system context status (*) (WindSh)
sysSuspend( ) - set the agent to external mode and suspend the system (*) (WindSh)
taskCreateHookShow( ) - show the list of task create routines (WindSh)
taskDeleteHookShow( ) - show the list of task delete routines (WindSh)
taskIdDefault( ) - set the default task ID (WindSh)
taskIdFigure( ) - figure out the task ID of a specified task (*) (WindSh)
taskRegsShow( ) - display the contents of a task's registers (WindSh)
taskShow( ) - display task information from TCBs (WindSh)
taskSwitchHookShow( ) - show the list of task switch routines (WindSh)
taskWaitShow( ) - show information about the object a task is pended on (*) (WindSh)
tcpstatShow( ) - display all statistics for the TCP protocol (WindSh)
td( ) - delete a task (WindSh)
tftpInfoShow( ) - get TFTP status information (WindSh)
ti( ) - display complete information from a task's TCB (WindSh)
tr( ) - resume a task (WindSh)
ts( ) - suspend a task (WindSh)
tt( ) - display a stack trace of a task (WindSh)
tw( ) - print info about the object the given task is pending on (*) (WindSh)
udpstatShow( ) - display statistics for the UDP protocol (WindSh)
unld( ) - unload an object module by specifying a file name or module ID (WindSh)
version( ) - print VxWorks version information (WindSh)
w( ) - print a summary of each task's pending information, task by task (*) (WindSh)
wdShow( ) - show information about a watchdog (WindSh)

for more details inside your tornado installation, go to
docs->tornado->tools->windsh.html

mysql 데이터베이스 생성 및 사용자 추가

mysql 데이터베이스 생성 및 사용자 추가 
<mysql 접속>

# mysql -u root -p
root 패스워드 치고 접속
<데이터베이스 목록 확인>

mysql> show databases;
+——————–+
| Database                |
+——————–+
| information_schema |
| mysql                     |
+——————–+
2 rows in set (0.00 sec)

<test 데이터베이스 생성>

mysql> create database test;
<데이터 생성되었는지 확인>

mysql> show databases;
+——————–+
| Database                |
+——————–+
| information_schema |
| mysql                     |
| test                        |
+——————–+
3 rows in set (0.00 sec)
<사용자 추가하고 생성한 데이터베이스 사용 권한 주기>

grant all privileges on test.* to testuser@localhost identified by ‘testuser 계정의 패스워드 입력’ with grant option;
<testuser 사용자 생성되었는지 확인>

mysql> use mysql;
mysql> select * from user;     <- 이건 전체 유저 확인
mysql> select * from user where user=’testuser’;     <- 이건 testuser 계정 확인
<DataBase 삭제 >

mysql> drop database test;
<testuser 사용자 삭제>

mysql> delete from user where user=’testuser’;

시놀로지 NAS에서 GIT 서버 구축 및 프로젝트 관리

Synology NAS에서의 작업 
1. 제어판에서 SSH 활성화
2. 제어판에서 “사용자 홈 서비스 활성화”
3. 제어판에서 git을 사용할 사용자의 homes 권한은 “읽기/쓰기” 권한을 부여
4. 패키지 센터에서 “Git Server”을 다운로드.
5. “Git Server”을 실행후, git 을 사용할 사용자에게 권한을 부여
Synology NAS – SSH로 접속 후, root 로그인 

cd..
cd volumes1/homes/gituser (Git 사용자)
mkdir project.git   (Git 프로젝트 폴더)
cd project.git
git init –bare –shared
git update-server-info
cd..
chown -R gituser:users project.git (권한을 Git 유저에게 부여)
ls -al (권한이 제대로 옮겨졌는지 확인)
이후 원격지에서 Synology NAS GIT 서버에 리포지토리로 추가하는 방법.
mkdir project.git (원격지의 Git 프로젝트(리포지토리)생성)
cd project.git
git init
git remote add origin ssh://gituser@시놀로지IP:포트/volume1/homes/gituser/project.git (Git 폴더)

시스템 스피커로 비프음 내기 (C++ / C#) 모든 윈도우 32/64비트 버전

윈도우 7 64Bit 이상부터는, 더 이상 시스템의 내장 스피커를 이용하여 비프음을 낼 수 없다고 한다. (윈도우 API에서 더 이상 지원하지 않음)

그러나 아래 링크와 같이 시스템에 직접 접근해서 가능하다.

링크 : https://www.codeproject.com/Tips/1022207/Make-Buzzer-Internal-Speaker-Sound-in-Windows-bit

링크 캡쳐 (원문의 링크가 없어져 더이상 보기 어려울 경우를 대비)

사용자 삽입 이미지

C#에서 외부프로그램 실행 및 종료

C#으로 짠 또다른 프로그램(other.exe)을 실행하기위해서

 

System.Diagnostics.Process proc = System.Diagnostics.Process.Start(“./other.exe”);

 

 

 

종료

 

public const int WM_SYSCOMMAND = 0x0112;

public const int SC_CLOSE = 0xF060;

 

[DllImport(“user32.dll”)]

public static extern int FindWindow(

    string lpClassName, // class name

    string lpWindowName // window name

);

 

[DllImport(“user32.dll”)]

public static extern int SendMessage(

    int hWnd, // handle to destination window

    uint Msg, // message

    int wParam, // first message parameter

    int lParam // second message parameter

);

 

 

1. FindWindows로 창핸들을 찾아온다

 

int iHandle=Win32.FindWindow(className ,txtWndNm.Text);

2. SendMessage로 클로즈메세지를 보낸다.

 

int j=Win32.SendMessage(iHandle, Win32.WM_SYSCOMMAND,Win32.SC_CLOSE, 0);

 

Process.Kill()을 했는데도 안죽은게 이상하긴 하지만 위와 같이 사용하시면 확실히 죽을겁니다.

또한 외부 프로그램에 Message를 던질수도 있습니다.

[C#] 관리자 권한으로 실행하기

관리자 권한이 없는 상태에서 시스템의 정보를 읽거나 쓰려고 할때 프로그램이 올바르게 작동하지 않습니다. 이럴때 프로그램이 실행되면서, 관리자 권한으로 상승시키는 것이 필요한데요. C#에서 이러한 내용에 대한 코드를 정리합니다. 모든 코드는 Program.cs에서 이루어집니다. 먼저 using 절에 다음과 같은 네임스페이스를 추가합니다.

using System.Security.Principal;
using System.Diagnostics; 

그리고 현재 관리자 권한 상태인지의 여부를 파악하는 함수를 추가합니다.

public static bool IsAdministrator()
{
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
 
    if (null != identity)
    {
        WindowsPrincipal principal = new WindowsPrincipal(identity);
        return principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
 
    return false;

Program.cs 파일의 Main 함수의 시작 부분에 다음의 코드를 추가하여 관리자 권한으로 실행되는지를 확인 한다.

            if (IsAdministrator() == false)
            {
                try
                {
                    ProcessStartInfo procInfo = new ProcessStartInfo();
                    procInfo.UseShellExecute = true;
                    procInfo.FileName = “IPSwitcher”;
                    procInfo.WorkingDirectory = Environment.CurrentDirectory;
                    procInfo.Verb = “runas”;
                    Process.Start(procInfo);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(“This Program need to Administrator Authority:” + ex.Message);
                }

                return;
            }

 

윈도우에서 TortoiseSVN 아이콘 오버레이가 표시되지 않는 문제 해결 방법

SVN 클라이언트중에 TortoiseSVN 만한 것이 없어, 잘 사용하고 있는데

언젠가 부터 윈도우 탐색기에 아이콘 표시가 나타나지 않는다..
아이콘이 안보이면 무척 불편해서..

확인해보니, Explorer에서 오버레이가 10개까지 지원되는데, Explorer Shell 에서 아이콘 오버레이 우선 순위가 밀려서 나타나지 않는것..

수정 방법

1. regedit 실행
2. 다음의 레지스트리 키위치로 이동 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 
3. 2번 키의 자식 폴더에 tortoiseXXXXX 앞에 공백을 추가하여 우선 순위를 올려준다.
4. 탐색기 다시 시작하거나 윈도 리부팅
사용자 삽입 이미지